home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_c14.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  131KB  |  6,772 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. /*No:CST_ATT_INTEGER.base_class*/
  10. /*No:CST_ATT_INTEGER.value_mem*/
  11.  
  12.  
  13. T0* r213start_position(T213* C){
  14. T0* R=NULL;
  15. R=X83start_position(/*(IRF4.6first_name*/r85item(((T85*)((C)->_names/*8*/)),1)/*)*/);
  16. return R;
  17. }
  18.  
  19.  
  20. T6 r213is_merge_with(T213* C,T0* a1,T0* a2){
  21. T6 R=0;
  22. R=1;
  23. /*[IF*/
  24. if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
  25. /*[IF*/
  26. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
  27. R=0;
  28. }
  29. /*FI]*/
  30. }
  31. /*FI]*/
  32. /*[IF*/
  33. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
  34. /*[IF*/
  35. {/*AT*/R=0;
  36. }
  37. /*FI]*/
  38. }
  39. /*FI]*/
  40. /*[IF*/
  41. if(R){
  42. /*[IF*/
  43. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  44. R=X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2);
  45. }
  46. /*FI]*/
  47. /*[IF*/
  48. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  49. R=r187is_a_in((T187*)(/*(IRF4.1arguments*/NULL/*)*/),X93arguments(a1),a2);
  50. }
  51. /*FI]*/
  52. /*[IF*/
  53. if(!(R)){
  54. R=1;
  55. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  56. /*]*/
  57. /*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
  58. /*]*/
  59. /*]*/
  60. /*[IF*/
  61. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  62. R=X54is_a_in(X93result_type(a1),(C)->_result_type/*20*/,a2);
  63. }
  64. /*FI]*/
  65. /*[IF*/
  66. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  67. R=r187is_a_in((T187*)(X93arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
  68. }
  69. /*FI]*/
  70. }
  71. /*FI]*/
  72. }
  73. /*FI]*/
  74. /*[IF*/
  75. if(R){
  76. r213merge_header_comments(C,a1);
  77. }
  78. /*FI]*/
  79. return R;
  80. }
  81. /*No:CST_ATT_INTEGER.first_name*/
  82. /*No:CST_ATT_INTEGER.em1*/
  83. /*No:CST_ATT_INTEGER.header_comment*/
  84. /*No:CST_ATT_INTEGER.names*/
  85. /*No:CST_ATT_INTEGER.result_type*/
  86. /*No:CST_ATT_INTEGER.code_require*/
  87. /*No:CST_ATT_INTEGER.make_e_feature*/
  88.  
  89.  
  90. void r213add_into(T213* C,T0* a1){
  91. T0* _fn=NULL;
  92. T2 _i=0;
  93. C->_base_class=r70base_class((T70*)(X83start_position(r85item((T85*)((C)->_names/*8*/),1))));
  94. _i=1;
  95. while (!((_i)>(r85count((T85*)((C)->_names/*8*/))))) {
  96. _fn=r85item((T85*)((C)->_names/*8*/),_i);
  97. /*[IF*/
  98. if(r92has(((T92*)a1),X83to_key(_fn))){
  99. _fn=/*X93first_name*/((T0*)/*(IRF4.6first_name*/r85item(((T85*)(((T199*)(r92at(((T92*)a1),X83to_key(_fn))))->_names/*8*/)),1)/*)*/);
  100. r21add_position(X83start_position(_fn));
  101. r21add_position(X83start_position(r85item((T85*)((C)->_names/*8*/),_i)));
  102. r21error((T21*)(oBC12eh),((T0*)ms93_41905));
  103. /*[IRF3.6append*/{T0* b1=X83to_string(_fn);
  104. r7append((T7*)(oBC21explanation),b1);
  105. }/*]*/
  106. r21error((T21*)(oBC12eh),((T0*)ms13_47));
  107. }
  108. else{
  109. r92put(((T92*)a1),(T0*)C,X83to_key(_fn));
  110. }
  111. /*FI]*/
  112. _i=(_i)+(1);
  113. }
  114. }
  115.  
  116.  
  117. T6 r213can_hide(T213* C,T0* a1,T0* a2){
  118. T6 R=0;
  119. /*[IF*/
  120. if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
  121. /*[IF*/
  122. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
  123. r21add_position(X93start_position(a1));
  124. r213error(r213start_position(C),((T0*)ms93_64647));
  125. }
  126. /*FI]*/
  127. }
  128. /*FI]*/
  129. /*[IF*/
  130. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
  131. /*[IF*/
  132. {/*AT*/r21add_position(X93start_position(a1));
  133. r213error(r213start_position(C),((T0*)ms93_83182));
  134. }
  135. /*FI]*/
  136. }
  137. /*FI]*/
  138. /*[IF*/
  139. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  140. /*[IF*/
  141. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  142. /*[IF*/
  143. if(!(X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2))){
  144. /*[IRF3.6append*/{T0* b1=((T0*)ms93_54285);
  145. r7append((T7*)(oBC21explanation),b1);
  146. }/*]*/
  147. /*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)a2))->_current_type/*0*/);
  148. r7append((T7*)(oBC21explanation),b1);
  149. }/*]*/
  150. r21error((T21*)(oBC12eh),((T0*)ms13_47));
  151. }
  152. /*FI]*/
  153. }
  154. /*FI]*/
  155. }
  156. /*FI]*/
  157. /*[IF*/
  158. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  159. /*[IF*/
  160. /*AF*//*AE*/
  161. /*FI]*/
  162. }
  163. /*FI]*/
  164. R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
  165. /*[IF*/
  166. if(R){
  167. r213merge_header_comments(C,a1);
  168. }
  169. /*FI]*/
  170. return R;
  171. }
  172. /*No:CST_ATT_INTEGER.ensure_assertion*/
  173.  
  174.  
  175. T0* r213try_to_undefine(T213* C,T0* a1,T0* a2){
  176. T0* R=NULL;
  177. T0* _fn2=NULL;
  178. r21add_position(X83start_position(a1));
  179. _fn2=r85feature_name((T85*)((C)->_names/*8*/),X83to_key(a1));
  180. /*[IF*/
  181. if((_fn2)!=((void*)(NULL))){
  182. X83undefine_in(_fn2,a2);
  183. }
  184. /*FI]*/
  185. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  186. /*]*/
  187. /*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
  188. /*]*/
  189. /*]*/
  190. R=r213try_to_undefine_aux(C,a1,a2);
  191. /*[IF*/
  192. if((R)!=((void*)(NULL))){
  193. /*X284set_clients*//*[IRF3.3set_clients*/((((T287*)(((T287*)R))))->_clients)=((C)->_clients/*16*/);
  194. /*]*/
  195. r213merge_header_comments(C,R);
  196. }
  197. else{
  198. r63fatal_undefine(((T63*)a2),a1);
  199. }
  200. /*FI]*/
  201. return R;
  202. }
  203. /*No:CST_ATT_INTEGER.is_deferred*/
  204. T0*oBC93assertion_collector=NULL;
  205. /*No:CST_ATT_INTEGER.set_clients*/
  206. /*No:CST_ATT_INTEGER.value*/
  207. /*No:CST_ATT_INTEGER.nb_errors*/
  208.  
  209.  
  210. T0* r213to_run_feature(T213* C,T0* a1,T0* a2){
  211. T0* R=NULL;
  212. T0* _rc=NULL;
  213. _rc=X54run_class(a1);
  214. R=r24at(((T24*)_rc),a2);
  215. if(NULL!=(R))switch(((T0*)R)->id) {
  216. case 376: 
  217. break;
  218. default:
  219. R=NULL;
  220. };/*[IF*/
  221. if((R)==((void*)(NULL))){
  222. {T376*n=malloc(sizeof(*n));
  223. *n=M376;
  224. r376make(n,a1,a2,(T0*)C);
  225. R=(T0*)n;
  226. }
  227. }
  228. /*FI]*/
  229. return R;
  230. }
  231.  
  232.  
  233. void r213merge_header_comments(T213* C,T0* a1){
  234. /*[IF*/
  235. if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
  236. /*[IF*/
  237. if(((C)->_header_comment/*12*/)==((void*)(NULL))){
  238. C->_header_comment=/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/);
  239. }
  240.  else if((/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  241. X93set_header_comment(a1,(C)->_header_comment/*12*/);
  242. }
  243. /*FI]*/
  244. }
  245. /*FI]*/
  246. }
  247. /*No:CST_ATT_INTEGER.arguments*/
  248. T0*oBC93header_comment_memory=NULL;
  249. /*No:CST_ATT_INTEGER.require_assertion*/
  250. T0*oBC93require_collector=NULL;
  251.  
  252.  
  253. T0* r213try_to_undefine_aux(T213* C,T0* a1,T0* a2){
  254. T0* R=NULL;
  255. r21add_position(r213start_position(C));
  256. r213error(X83start_position(a1),((T0*)ms201_99414));
  257. r63fatal_undefine(((T63*)a2),a1);
  258. return R;
  259. }
  260. /*No:CST_ATT_INTEGER.fz_dot*/
  261. /*No:CST_ATT_INTEGER.stupid_switch*/
  262.  
  263.  
  264. void r213error(T0* a1,T0* a2){
  265. r21add_position(a1);
  266. r21error((T21*)(oBC12eh),a2);
  267. }
  268.  
  269.  
  270. void r213make(T213* C,T0* a1,T0* a2,T0* a3){
  271. /*[IRF3.3make_e_feature*/((((T213*)(C)))->_names)=(a1);
  272. /*]*/
  273. C->_result_type=a2;
  274. C->_value_mem=a3;
  275. }
  276.  
  277.  
  278. void r213collect_for(T2 a1){
  279. T0* _er=NULL;
  280. /*[IF*/
  281. if((a1)==(1)){
  282. _er=/*(IRF4.1require_assertion*/NULL/*)*/;
  283. /*[IF*/
  284. if((_er)!=((void*)(NULL))){
  285. /*[IF*/
  286. if(!(r358fast_has((T358*)(oBC93require_collector),_er))){
  287. r358add_last((T358*)(oBC93require_collector),_er);
  288. }
  289. /*FI]*/
  290. }
  291. /*FI]*/
  292. }
  293. else{
  294. /*[IF*/
  295. /*AF*//*AE*/
  296. /*FI]*/
  297. }
  298. /*FI]*/
  299. }
  300. /*No:CST_ATT_INTEGER.set_header_comment*/
  301. /*No:CST_ATT_INTEGER.clients*/
  302.  
  303.  
  304. T0* r84for_infix(T0* a1){
  305. T0* R=NULL;
  306. R=r84key_for_prefix_infix(((T0*)ms84_1728),a1);
  307. return R;
  308. }
  309. /*No:UNIQUE_STRING.us_fclose*/
  310. /*No:UNIQUE_STRING.us_shift_left*/
  311. /*No:UNIQUE_STRING.us_put_1*/
  312. /*No:UNIQUE_STRING.us_maximum_character_code*/
  313. T0*oBC84memory=NULL;
  314. /*No:UNIQUE_STRING.us_real_ref*/
  315. /*No:UNIQUE_STRING.us_die_with_code*/
  316. /*No:UNIQUE_STRING.us_is_equal*/
  317. /*No:UNIQUE_STRING.us_boolean_ref*/
  318. /*No:UNIQUE_STRING.us_item*/
  319. /*No:UNIQUE_STRING.us_integer*/
  320. /*No:UNIQUE_STRING.us_with_capacity*/
  321. /*No:UNIQUE_STRING.us_minimum_integer*/
  322. /*No:UNIQUE_STRING.us_double*/
  323. /*No:UNIQUE_STRING.us_stdin*/
  324. /*No:UNIQUE_STRING.us_maximum_double*/
  325. /*No:UNIQUE_STRING.us_realloc*/
  326. /*No:UNIQUE_STRING.us_se_argc*/
  327. /*No:UNIQUE_STRING.us_se_system*/
  328. /*No:UNIQUE_STRING.us_general*/
  329. /*No:UNIQUE_STRING.us_native_array*/
  330. /*No:UNIQUE_STRING.us_standard_is_equal*/
  331. /*No:UNIQUE_STRING.us_std_neq*/
  332. /*No:UNIQUE_STRING.us_integer_ref*/
  333. /*No:UNIQUE_STRING.us_and_then*/
  334.  
  335.  
  336. T0* r84read(T0* a1){
  337. T0* R=NULL;
  338. R=r73at((T73*)(oBC84memory),a1);
  339. return R;
  340. }
  341. /*No:UNIQUE_STRING.us_double_floor*/
  342. /*No:UNIQUE_STRING.us_pointer*/
  343. /*No:UNIQUE_STRING.make*/
  344. /*No:UNIQUE_STRING.us_implies*/
  345. /*No:UNIQUE_STRING.us_platform*/
  346. /*No:UNIQUE_STRING.us_std_output*/
  347. /*No:UNIQUE_STRING.us_memory*/
  348. /*No:UNIQUE_STRING.us_compile_to_jvm*/
  349. /*No:UNIQUE_STRING.us_precursor*/
  350. /*No:UNIQUE_STRING.us_floor*/
  351. /*No:UNIQUE_STRING.us_real_bits*/
  352. /*No:UNIQUE_STRING.us_std_file_read*/
  353. /*No:UNIQUE_STRING.us_standard_copy*/
  354. /*No:UNIQUE_STRING.us_twin*/
  355. /*No:UNIQUE_STRING.us_se_string2double*/
  356. /*No:UNIQUE_STRING.us_minimum_character_code*/
  357.  
  358.  
  359. T0* r84item(T0* a1){
  360. T0* R=NULL;
  361. r84initialize();
  362. /*[IF*/
  363. if(r73has((T73*)(oBC84memory),a1)){
  364. R=r84read(a1);
  365. }
  366. else{
  367. R=r7twin(((T7*)a1));
  368. /*[IRF3.6add1*/{T0* b1=R;
  369. r73put((T73*)(oBC84memory),b1,b1);
  370. }/*]*/
  371. }
  372. /*FI]*/
  373. return R;
  374. }
  375. /*No:UNIQUE_STRING.us_from_pointer*/
  376. /*No:UNIQUE_STRING.us_minimum_double*/
  377. /*No:UNIQUE_STRING.us_std_error*/
  378. /*No:UNIQUE_STRING.us_pointer_ref*/
  379. /*No:UNIQUE_STRING.us_sfr_open*/
  380. /*No:UNIQUE_STRING.us_sfw_open*/
  381. /*No:UNIQUE_STRING.us_character_bits*/
  382. /*No:UNIQUE_STRING.us_maximum_real*/
  383. /*No:UNIQUE_STRING.us_lower*/
  384. /*No:UNIQUE_STRING.us_character_ref*/
  385. /*No:UNIQUE_STRING.us_raise_exception*/
  386. /*No:UNIQUE_STRING.us_current*/
  387. /*No:UNIQUE_STRING.us_minus*/
  388.  
  389.  
  390. T0* r84for_precursor(T2 a1,T0* a2){
  391. T0* R=NULL;
  392. r7copy((T7*)(oBC84tmp_string),((T0*)ms84_356));
  393. r2append_in(a1,oBC84tmp_string);
  394. r7append((T7*)(oBC84tmp_string),a2);
  395. R=r84item(oBC84tmp_string);
  396. return R;
  397. }
  398. /*No:UNIQUE_STRING.us_is_expanded_type*/
  399. int fBC84initialize=0;
  400.  
  401.  
  402. void r84initialize(void){
  403. if (fBC84initialize==0){
  404. fBC84initialize=1;
  405. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_714);
  406. r73put((T73*)(oBC84memory),b1,b1);
  407. }/*]*/
  408. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1990);
  409. r73put((T73*)(oBC84memory),b1,b1);
  410. }/*]*/
  411. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_687);
  412. r73put((T73*)(oBC84memory),b1,b1);
  413. }/*]*/
  414. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2055);
  415. r73put((T73*)(oBC84memory),b1,b1);
  416. }/*]*/
  417. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9369);
  418. r73put((T73*)(oBC84memory),b1,b1);
  419. }/*]*/
  420. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6510);
  421. r73put((T73*)(oBC84memory),b1,b1);
  422. }/*]*/
  423. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12694);
  424. r73put((T73*)(oBC84memory),b1,b1);
  425. }/*]*/
  426. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9936);
  427. r73put((T73*)(oBC84memory),b1,b1);
  428. }/*]*/
  429. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_16588);
  430. r73put((T73*)(oBC84memory),b1,b1);
  431. }/*]*/
  432. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12700);
  433. r73put((T73*)(oBC84memory),b1,b1);
  434. }/*]*/
  435. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_4818);
  436. r73put((T73*)(oBC84memory),b1,b1);
  437. }/*]*/
  438. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_10890);
  439. r73put((T73*)(oBC84memory),b1,b1);
  440. }/*]*/
  441. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12180);
  442. r73put((T73*)(oBC84memory),b1,b1);
  443. }/*]*/
  444. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14982);
  445. r73put((T73*)(oBC84memory),b1,b1);
  446. }/*]*/
  447. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6412);
  448. r73put((T73*)(oBC84memory),b1,b1);
  449. }/*]*/
  450. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6748);
  451. r73put((T73*)(oBC84memory),b1,b1);
  452. }/*]*/
  453. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12760);
  454. r73put((T73*)(oBC84memory),b1,b1);
  455. }/*]*/
  456. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_5598);
  457. r73put((T73*)(oBC84memory),b1,b1);
  458. }/*]*/
  459. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_17628);
  460. r73put((T73*)(oBC84memory),b1,b1);
  461. }/*]*/
  462. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1256);
  463. r73put((T73*)(oBC84memory),b1,b1);
  464. }/*]*/
  465. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8048);
  466. r73put((T73*)(oBC84memory),b1,b1);
  467. }/*]*/
  468. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6881);
  469. r73put((T73*)(oBC84memory),b1,b1);
  470. }/*]*/
  471. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12969);
  472. r73put((T73*)(oBC84memory),b1,b1);
  473. }/*]*/
  474. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1208);
  475. r73put((T73*)(oBC84memory),b1,b1);
  476. }/*]*/
  477. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7696);
  478. r73put((T73*)(oBC84memory),b1,b1);
  479. }/*]*/
  480. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_5046);
  481. r73put((T73*)(oBC84memory),b1,b1);
  482. }/*]*/
  483. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_16887);
  484. r73put((T73*)(oBC84memory),b1,b1);
  485. }/*]*/
  486. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_19334);
  487. r73put((T73*)(oBC84memory),b1,b1);
  488. }/*]*/
  489. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_939);
  490. r73put((T73*)(oBC84memory),b1,b1);
  491. }/*]*/
  492. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_10800);
  493. r73put((T73*)(oBC84memory),b1,b1);
  494. }/*]*/
  495. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_65);
  496. r73put((T73*)(oBC84memory),b1,b1);
  497. }/*]*/
  498. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_374);
  499. r73put((T73*)(oBC84memory),b1,b1);
  500. }/*]*/
  501. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_62);
  502. r73put((T73*)(oBC84memory),b1,b1);
  503. }/*]*/
  504. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_252);
  505. r73put((T73*)(oBC84memory),b1,b1);
  506. }/*]*/
  507. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_63);
  508. r73put((T73*)(oBC84memory),b1,b1);
  509. }/*]*/
  510. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9513);
  511. r73put((T73*)(oBC84memory),b1,b1);
  512. }/*]*/
  513. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_248);
  514. r73put((T73*)(oBC84memory),b1,b1);
  515. }/*]*/
  516. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_61);
  517. r73put((T73*)(oBC84memory),b1,b1);
  518. }/*]*/
  519. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_46);
  520. r73put((T73*)(oBC84memory),b1,b1);
  521. }/*]*/
  522. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_43);
  523. r73put((T73*)(oBC84memory),b1,b1);
  524. }/*]*/
  525. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_222);
  526. r73put((T73*)(oBC84memory),b1,b1);
  527. }/*]*/
  528. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1029);
  529. r73put((T73*)(oBC84memory),b1,b1);
  530. }/*]*/
  531. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_456);
  532. r73put((T73*)(oBC84memory),b1,b1);
  533. }/*]*/
  534. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8316);
  535. r73put((T73*)(oBC84memory),b1,b1);
  536. }/*]*/
  537. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_44);
  538. r73put((T73*)(oBC84memory),b1,b1);
  539. }/*]*/
  540. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_95);
  541. r73put((T73*)(oBC84memory),b1,b1);
  542. }/*]*/
  543. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_570);
  544. r73put((T73*)(oBC84memory),b1,b1);
  545. }/*]*/
  546. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_582);
  547. r73put((T73*)(oBC84memory),b1,b1);
  548. }/*]*/
  549. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_48);
  550. r73put((T73*)(oBC84memory),b1,b1);
  551. }/*]*/
  552. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_194);
  553. r73put((T73*)(oBC84memory),b1,b1);
  554. }/*]*/
  555. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_36);
  556. r73put((T73*)(oBC84memory),b1,b1);
  557. }/*]*/
  558. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1053a);
  559. r73put((T73*)(oBC84memory),b1,b1);
  560. }/*]*/
  561. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2675);
  562. r73put((T73*)(oBC84memory),b1,b1);
  563. }/*]*/
  564. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2695);
  565. r73put((T73*)(oBC84memory),b1,b1);
  566. }/*]*/
  567. r84add2(((T0*)ms14_22704));
  568. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6792);
  569. r73put((T73*)(oBC84memory),b1,b1);
  570. }/*]*/
  571. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11896);
  572. r73put((T73*)(oBC84memory),b1,b1);
  573. }/*]*/
  574. r84add2(((T0*)ms14_29456));
  575. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13554);
  576. r73put((T73*)(oBC84memory),b1,b1);
  577. }/*]*/
  578. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_20868);
  579. r73put((T73*)(oBC84memory),b1,b1);
  580. }/*]*/
  581. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_29078);
  582. r73put((T73*)(oBC84memory),b1,b1);
  583. }/*]*/
  584. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2840a);
  585. r73put((T73*)(oBC84memory),b1,b1);
  586. }/*]*/
  587. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1684);
  588. r73put((T73*)(oBC84memory),b1,b1);
  589. }/*]*/
  590. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_19459);
  591. r73put((T73*)(oBC84memory),b1,b1);
  592. }/*]*/
  593. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1812);
  594. r73put((T73*)(oBC84memory),b1,b1);
  595. }/*]*/
  596. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_15220);
  597. r73put((T73*)(oBC84memory),b1,b1);
  598. }/*]*/
  599. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_15720);
  600. r73put((T73*)(oBC84memory),b1,b1);
  601. }/*]*/
  602. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_19602);
  603. r73put((T73*)(oBC84memory),b1,b1);
  604. }/*]*/
  605. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_23004a);
  606. r73put((T73*)(oBC84memory),b1,b1);
  607. }/*]*/
  608. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_24024);
  609. r73put((T73*)(oBC84memory),b1,b1);
  610. }/*]*/
  611. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27482);
  612. r73put((T73*)(oBC84memory),b1,b1);
  613. }/*]*/
  614. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_10648);
  615. r73put((T73*)(oBC84memory),b1,b1);
  616. }/*]*/
  617. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13842);
  618. r73put((T73*)(oBC84memory),b1,b1);
  619. }/*]*/
  620. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6936);
  621. r73put((T73*)(oBC84memory),b1,b1);
  622. }/*]*/
  623. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1704);
  624. r73put((T73*)(oBC84memory),b1,b1);
  625. }/*]*/
  626. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2805a);
  627. r73put((T73*)(oBC84memory),b1,b1);
  628. }/*]*/
  629. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22428);
  630. r73put((T73*)(oBC84memory),b1,b1);
  631. }/*]*/
  632. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1712);
  633. r73put((T73*)(oBC84memory),b1,b1);
  634. }/*]*/
  635. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22968);
  636. r73put((T73*)(oBC84memory),b1,b1);
  637. }/*]*/
  638. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_30885);
  639. r73put((T73*)(oBC84memory),b1,b1);
  640. }/*]*/
  641. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14130);
  642. r73put((T73*)(oBC84memory),b1,b1);
  643. }/*]*/
  644. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_438);
  645. r73put((T73*)(oBC84memory),b1,b1);
  646. }/*]*/
  647. r84add2(((T0*)ms14_22776));
  648. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_60434);
  649. r73put((T73*)(oBC84memory),b1,b1);
  650. }/*]*/
  651. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_34672);
  652. r73put((T73*)(oBC84memory),b1,b1);
  653. }/*]*/
  654. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11264);
  655. r73put((T73*)(oBC84memory),b1,b1);
  656. }/*]*/
  657. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_18161);
  658. r73put((T73*)(oBC84memory),b1,b1);
  659. }/*]*/
  660. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1764);
  661. r73put((T73*)(oBC84memory),b1,b1);
  662. }/*]*/
  663. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2840);
  664. r73put((T73*)(oBC84memory),b1,b1);
  665. }/*]*/
  666. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6852);
  667. r73put((T73*)(oBC84memory),b1,b1);
  668. }/*]*/
  669. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1696);
  670. r73put((T73*)(oBC84memory),b1,b1);
  671. }/*]*/
  672. r84add2(((T0*)ms14_60346));
  673. r84add2(((T0*)ms14_27090));
  674. r84add2(((T0*)ms14_33465));
  675. r84add2(((T0*)ms14_21804));
  676. r84add2(((T0*)ms14_60390));
  677. r84add2(((T0*)ms14_27118));
  678. r84add2(((T0*)ms14_33495));
  679. r84add2(((T0*)ms14_21828));
  680. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_18051);
  681. r73put((T73*)(oBC84memory),b1,b1);
  682. }/*]*/
  683. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_23004);
  684. r73put((T73*)(oBC84memory),b1,b1);
  685. }/*]*/
  686. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_21372);
  687. r73put((T73*)(oBC84memory),b1,b1);
  688. }/*]*/
  689. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2860);
  690. r73put((T73*)(oBC84memory),b1,b1);
  691. }/*]*/
  692. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11616);
  693. r73put((T73*)(oBC84memory),b1,b1);
  694. }/*]*/
  695. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_54240);
  696. r73put((T73*)(oBC84memory),b1,b1);
  697. }/*]*/
  698. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1053);
  699. r73put((T73*)(oBC84memory),b1,b1);
  700. }/*]*/
  701. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2515);
  702. r73put((T73*)(oBC84memory),b1,b1);
  703. }/*]*/
  704. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2520);
  705. r73put((T73*)(oBC84memory),b1,b1);
  706. }/*]*/
  707. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_32955);
  708. r73put((T73*)(oBC84memory),b1,b1);
  709. }/*]*/
  710. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12879);
  711. r73put((T73*)(oBC84memory),b1,b1);
  712. }/*]*/
  713. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13797);
  714. r73put((T73*)(oBC84memory),b1,b1);
  715. }/*]*/
  716. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8652);
  717. r73put((T73*)(oBC84memory),b1,b1);
  718. }/*]*/
  719. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8610);
  720. r73put((T73*)(oBC84memory),b1,b1);
  721. }/*]*/
  722. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9541);
  723. r73put((T73*)(oBC84memory),b1,b1);
  724. }/*]*/
  725. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14328);
  726. r73put((T73*)(oBC84memory),b1,b1);
  727. }/*]*/
  728. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13050a);
  729. r73put((T73*)(oBC84memory),b1,b1);
  730. }/*]*/
  731. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13050);
  732. r73put((T73*)(oBC84memory),b1,b1);
  733. }/*]*/
  734. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_34768);
  735. r73put((T73*)(oBC84memory),b1,b1);
  736. }/*]*/
  737. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13887);
  738. r73put((T73*)(oBC84memory),b1,b1);
  739. }/*]*/
  740. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11456);
  741. r73put((T73*)(oBC84memory),b1,b1);
  742. }/*]*/
  743. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_26351);
  744. r73put((T73*)(oBC84memory),b1,b1);
  745. }/*]*/
  746. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11496);
  747. r73put((T73*)(oBC84memory),b1,b1);
  748. }/*]*/
  749. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27790);
  750. r73put((T73*)(oBC84memory),b1,b1);
  751. }/*]*/
  752. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_34215);
  753. r73put((T73*)(oBC84memory),b1,b1);
  754. }/*]*/
  755. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27638);
  756. r73put((T73*)(oBC84memory),b1,b1);
  757. }/*]*/
  758. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_40613);
  759. r73put((T73*)(oBC84memory),b1,b1);
  760. }/*]*/
  761. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_25779);
  762. r73put((T73*)(oBC84memory),b1,b1);
  763. }/*]*/
  764. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7470);
  765. r73put((T73*)(oBC84memory),b1,b1);
  766. }/*]*/
  767. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2805);
  768. r73put((T73*)(oBC84memory),b1,b1);
  769. }/*]*/
  770. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7620);
  771. r73put((T73*)(oBC84memory),b1,b1);
  772. }/*]*/
  773. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14112);
  774. r73put((T73*)(oBC84memory),b1,b1);
  775. }/*]*/
  776. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14310);
  777. r73put((T73*)(oBC84memory),b1,b1);
  778. }/*]*/
  779. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_17120);
  780. r73put((T73*)(oBC84memory),b1,b1);
  781. }/*]*/
  782. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8925);
  783. r73put((T73*)(oBC84memory),b1,b1);
  784. }/*]*/
  785. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7416);
  786. r73put((T73*)(oBC84memory),b1,b1);
  787. }/*]*/
  788. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22896);
  789. r73put((T73*)(oBC84memory),b1,b1);
  790. }/*]*/
  791. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13113);
  792. r73put((T73*)(oBC84memory),b1,b1);
  793. }/*]*/
  794. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_16920);
  795. r73put((T73*)(oBC84memory),b1,b1);
  796. }/*]*/
  797. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_17000);
  798. r73put((T73*)(oBC84memory),b1,b1);
  799. }/*]*/
  800. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9156);
  801. r73put((T73*)(oBC84memory),b1,b1);
  802. }/*]*/
  803. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_21480);
  804. r73put((T73*)(oBC84memory),b1,b1);
  805. }/*]*/
  806. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_57020);
  807. r73put((T73*)(oBC84memory),b1,b1);
  808. }/*]*/
  809. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1840);
  810. r73put((T73*)(oBC84memory),b1,b1);
  811. }/*]*/
  812. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2855);
  813. r73put((T73*)(oBC84memory),b1,b1);
  814. }/*]*/
  815. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27651);
  816. r73put((T73*)(oBC84memory),b1,b1);
  817. }/*]*/
  818. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_15800);
  819. r73put((T73*)(oBC84memory),b1,b1);
  820. }/*]*/
  821. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9380);
  822. r73put((T73*)(oBC84memory),b1,b1);
  823. }/*]*/
  824. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_58420);
  825. r73put((T73*)(oBC84memory),b1,b1);
  826. }/*]*/
  827. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22320);
  828. r73put((T73*)(oBC84memory),b1,b1);
  829. }/*]*/
  830. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13968);
  831. r73put((T73*)(oBC84memory),b1,b1);
  832. }/*]*/
  833. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7404);
  834. r73put((T73*)(oBC84memory),b1,b1);
  835. }/*]*/
  836. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1648);
  837. r73put((T73*)(oBC84memory),b1,b1);
  838. }/*]*/
  839. }}
  840. /*No:UNIQUE_STRING.us_conforms_to*/
  841. /*No:UNIQUE_STRING.us_generating_type*/
  842. /*No:UNIQUE_STRING.us_count*/
  843. /*No:UNIQUE_STRING.us_exception*/
  844. /*No:UNIQUE_STRING.us_sprintf_pointer*/
  845. /*No:UNIQUE_STRING.us_double_bits*/
  846. /*No:UNIQUE_STRING.us_make*/
  847. /*No:UNIQUE_STRING.us_upper*/
  848. /*No:UNIQUE_STRING.us_boolean_bits*/
  849. /*No:UNIQUE_STRING.us_plus*/
  850. /*No:UNIQUE_STRING.us_print_on*/
  851. /*No:UNIQUE_STRING.us_to_real*/
  852. /*No:UNIQUE_STRING.us_code*/
  853. /*No:UNIQUE_STRING.us_feof*/
  854. /*No:UNIQUE_STRING.us_is_basic_expanded_type*/
  855. /*No:UNIQUE_STRING.us_boolean*/
  856. /*No:UNIQUE_STRING.us_minimum_real*/
  857. /*No:UNIQUE_STRING.us_to_character*/
  858. /*No:UNIQUE_STRING.us_muls*/
  859. /*No:UNIQUE_STRING.us_free*/
  860. /*No:UNIQUE_STRING.us_or_else*/
  861. /*No:UNIQUE_STRING.us_slash*/
  862. /*No:UNIQUE_STRING.us_ge*/
  863. /*No:UNIQUE_STRING.us_integer_bits*/
  864. /*No:UNIQUE_STRING.us_none*/
  865. /*No:UNIQUE_STRING.us_string*/
  866. /*No:UNIQUE_STRING.us_element_sizeof*/
  867. /*No:UNIQUE_STRING.us_print*/
  868. /*No:UNIQUE_STRING.us_void*/
  869. /*No:UNIQUE_STRING.us_le*/
  870.  
  871.  
  872. T0* r84key_for_prefix_infix(T0* a1,T0* a2){
  873. T0* R=NULL;
  874. T3 _c=0;
  875. T2 _i=0;
  876. r7copy((T7*)(oBC84tmp_string),a1);
  877. _i=1;
  878. while (!((_i)>((((T7*)a2))->_count/*4*/))) {
  879. _c=/*(IRF4.6item*/((((T7*)a2))->_storage/*0*/)[(_i)-(1)]/*)*/;
  880. /*[IF*/
  881. if(r3is_letter(_c)){
  882. r7extend((T7*)(oBC84tmp_string),_c);
  883. }
  884. else{
  885. r2append_in(((unsigned char)_c),oBC84tmp_string);
  886. }
  887. /*FI]*/
  888. _i=(_i)+(1);
  889. }
  890. R=r84item(oBC84tmp_string);
  891. return R;
  892. }
  893. /*No:UNIQUE_STRING.us_sprintf_double*/
  894. /*No:UNIQUE_STRING.us_standard_twin*/
  895. /*No:UNIQUE_STRING.us_storage*/
  896. /*No:UNIQUE_STRING.us_at*/
  897. /*No:UNIQUE_STRING.us_neq*/
  898. /*No:UNIQUE_STRING.us_eq*/
  899. /*No:UNIQUE_STRING.us_pointer_size*/
  900. /*No:UNIQUE_STRING.us_blank*/
  901. /*No:UNIQUE_STRING.us_se_argv*/
  902. /*No:UNIQUE_STRING.us_io*/
  903. /*No:UNIQUE_STRING.us_bit_n_ref*/
  904. /*No:UNIQUE_STRING.us_trace_switch*/
  905. /*No:UNIQUE_STRING.us_read_byte*/
  906. /*No:UNIQUE_STRING.us_native_array_character*/
  907. /*No:UNIQUE_STRING.us_gt*/
  908. /*No:UNIQUE_STRING.us_truncated_to_integer*/
  909. /*No:UNIQUE_STRING.us_se_remove*/
  910. /*No:UNIQUE_STRING.us_se_rename*/
  911. /*No:UNIQUE_STRING.us_lt*/
  912. /*No:UNIQUE_STRING.us_std_file_write*/
  913. /*No:UNIQUE_STRING.us_or*/
  914. /*No:UNIQUE_STRING.us_bit*/
  915. /*No:UNIQUE_STRING.count*/
  916. /*No:UNIQUE_STRING.us_std_input*/
  917. /*No:UNIQUE_STRING.us_signal_number*/
  918. /*No:UNIQUE_STRING.us_print_run_time_stack*/
  919. /*No:UNIQUE_STRING.us_flush_stream*/
  920. /*No:UNIQUE_STRING.us_to_integer*/
  921. /*No:UNIQUE_STRING.us_to_pointer*/
  922. /*No:UNIQUE_STRING.us_pointer_bits*/
  923. T0*oBC84tmp_string=NULL;
  924. /*No:UNIQUE_STRING.us_stderr*/
  925. /*No:UNIQUE_STRING.us_calloc*/
  926. /*No:UNIQUE_STRING.us_copy*/
  927. /*No:UNIQUE_STRING.us_result*/
  928. /*No:UNIQUE_STRING.us_is_not_void*/
  929. /*No:UNIQUE_STRING.us_capacity*/
  930.  
  931.  
  932. T0* r84for_prefix(T0* a1){
  933. T0* R=NULL;
  934. R=r84key_for_prefix_infix(((T0*)ms84_1700),a1);
  935. return R;
  936. }
  937. /*No:UNIQUE_STRING.us_compile_to_c*/
  938. /*No:UNIQUE_STRING.us_double_ref*/
  939. /*No:UNIQUE_STRING.us_object_size*/
  940. /*No:UNIQUE_STRING.us_xor*/
  941. /*No:UNIQUE_STRING.us_like_current*/
  942. /*No:UNIQUE_STRING.us_to_double*/
  943. /*No:UNIQUE_STRING.us_clear_all*/
  944. /*No:UNIQUE_STRING.us_shift_right*/
  945. /*No:UNIQUE_STRING.us_exceptions*/
  946. /*No:UNIQUE_STRING.us_not*/
  947. /*No:UNIQUE_STRING.us_slash_slash*/
  948. /*No:UNIQUE_STRING.us_array*/
  949. /*No:UNIQUE_STRING.us_bit_n*/
  950. /*No:UNIQUE_STRING.us_se_getenv*/
  951. /*No:UNIQUE_STRING.us_eof_code*/
  952. /*No:UNIQUE_STRING.add1*/
  953. /*No:UNIQUE_STRING.us_c_inline_c*/
  954.  
  955.  
  956. void r84add2(T0* a1){
  957. /*[IF*/
  958. if(((T34*)(oBC12eiffel_parser))->_case_insensitive/*0*/){
  959. r7to_lower(((T7*)a1));
  960. }
  961. /*FI]*/
  962. /*[IRF3.6add1*/{T0* b1=a1;
  963. r73put((T73*)(oBC84memory),b1,b1);
  964. }/*]*/
  965. }
  966. /*No:UNIQUE_STRING.us_malloc*/
  967. /*No:UNIQUE_STRING.us_dictionary*/
  968. /*No:UNIQUE_STRING.us_fixed_array*/
  969. /*No:UNIQUE_STRING.us_character*/
  970. /*No:UNIQUE_STRING.us_put*/
  971. /*No:UNIQUE_STRING.us_to_bit*/
  972. /*No:UNIQUE_STRING.us_generator*/
  973. /*No:UNIQUE_STRING.us_backslash_backslash*/
  974. /*No:UNIQUE_STRING.us_maximum_integer*/
  975. /*No:UNIQUE_STRING.us_put_0*/
  976. /*No:UNIQUE_STRING.us_stdout*/
  977. /*No:UNIQUE_STRING.us_write_byte*/
  978. /*No:UNIQUE_STRING.us_c_inline_h*/
  979. /*No:UNIQUE_STRING.us_any*/
  980. /*No:UNIQUE_STRING.us_real*/
  981. /*No:UNIQUE_STRING.us_and*/
  982. /*No:UNIQUE_STRING.us_bitn*/
  983. /*No:UNIQUE_STRING.us_pow*/
  984. /*No:EIFFEL_PARSER.last_instruction*/
  985. /*No:EIFFEL_PARSER.fz_frozen*/
  986.  
  987.  
  988. T0* r34a_alias(T34* C){
  989. T0* R=NULL;
  990. /*[IF*/
  991. if(r34a_keyword(C,((T0*)ms13_2685))){
  992. /*[IF*/
  993. if(r34a_manifest_string(C)){
  994. R=((T171*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/;
  995. }
  996. else{
  997. r34fcp(C,((T0*)ms34_63264));
  998. }
  999. /*FI]*/
  1000. }
  1001. /*FI]*/
  1002. return R;
  1003. }
  1004.  
  1005.  
  1006. T6 r34a_type_formal_generic(T34* C){
  1007. T6 R=0;
  1008. T2 _rank=0;
  1009. T0* _cn=NULL;
  1010. T0* _fga=NULL;
  1011. /*[IF*/
  1012. if(((C)->_formal_generic_list/*37*/)!=((void*)(NULL))){
  1013. _rank=1;
  1014. while (!((R)||((_rank)>(/*(IRF4.6count*/(((T279*)(((T94*)((C)->_formal_generic_list/*37*/))->_list/*4*/)))->_upper/*8*//*)*/)))) {
  1015. _fga=/*(IRF4.6item*/r279item(((T279*)(((T94*)((C)->_formal_generic_list/*37*/))->_list/*4*/)),_rank)/*)*/;
  1016. /*[IF*/
  1017. if(r34a_keyword(C,((T64*)((((T278*)_fga))->_name/*0*/))->_to_string/*0*/)){
  1018. {T64*n=malloc(sizeof(*n));
  1019. *n=M64;
  1020. r64make(n,((T64*)((((T278*)_fga))->_name/*0*/))->_to_string/*0*/,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  1021. _cn=(T0*)n;
  1022. }
  1023. {T280*n=malloc(sizeof(*n));
  1024. *n=M280;
  1025. r280make(n,_cn,_rank);
  1026. C->_last_type_formal_generic=(T0*)n;
  1027. }
  1028. R=1;
  1029. }
  1030. /*FI]*/
  1031. _rank=(_rank)+(1);
  1032. }
  1033. }
  1034. /*FI]*/
  1035. return R;
  1036. }
  1037.  
  1038.  
  1039. T6 r34end_of_input(T34* C){
  1040. T6 R=0;
  1041. R=((C)->_cc/*24*/)==('\0');
  1042. return R;
  1043. }
  1044.  
  1045.  
  1046. void r34err_exp(T0* a1,T0* a2){
  1047. T0* _msg=NULL;
  1048. {T7*n=malloc(sizeof(*n));
  1049. *n=M7;
  1050. r7make(n,0);
  1051. _msg=(T0*)n;
  1052. }
  1053. r7append(((T7*)_msg),((T0*)ms34_48949));
  1054. r7append(((T7*)_msg),a2);
  1055. r7append(((T7*)_msg),((T0*)ms34_10120));
  1056. r21add_position(a1);
  1057. /*[IRF3.6fatal_error*/{T0* b1=_msg;
  1058. r21fatal_error((T21*)(oBC12eh),b1);
  1059. }/*]*/
  1060. }
  1061. /*No:EIFFEL_PARSER.fz_then*/
  1062. /*No:EIFFEL_PARSER.formal_generic_list*/
  1063. /*No:EIFFEL_PARSER.fz_indexing*/
  1064.  
  1065.  
  1066. T6 r34a_rename_pair(T34* C){
  1067. T6 R=0;
  1068. T0* _rename_pair=NULL;
  1069. T0* _name1=NULL;
  1070. /*[IF*/
  1071. if(r34a_feature_name(C)){
  1072. _name1=(C)->_last_feature_name/*105*/;
  1073. /*[IF*/
  1074. if(r34a_keyword(C,((T0*)ms13_430))){
  1075. /*[IF*/
  1076. if(r34a_feature_name(C)){
  1077. R=1;
  1078. {T88*n=malloc(sizeof(*n));
  1079. *n=M88;
  1080. r88make(n,_name1,(C)->_last_feature_name/*105*/);
  1081. _rename_pair=(T0*)n;
  1082. }
  1083. r79add_rename((T79*)((C)->_last_parent/*149*/),_rename_pair);
  1084. }
  1085. else{
  1086. r34fcp(C,((T0*)ms34_121210));
  1087. }
  1088. /*FI]*/
  1089. }
  1090. else{
  1091. /*[IRF3.6go_back*/{T34* C1=C;
  1092. T0* b1=X83start_position(_name1);
  1093. r34go_back_at(C1,/*(IRF4.6line*/((((T70*)b1))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T70*)b1))->_mem_line_column/*4*/)%(1000)/*)*/);
  1094. }/*]*/
  1095. }
  1096. /*FI]*/
  1097. }
  1098. /*FI]*/
  1099. return R;
  1100. }
  1101. /*No:EIFFEL_PARSER.last_feature_name*/
  1102. /*No:EIFFEL_PARSER.fz_when*/
  1103. /*No:EIFFEL_PARSER.last_parent*/
  1104.  
  1105.  
  1106. T0* r34last_result(T34* C){
  1107. T0* R=NULL;
  1108. T0* _sp=NULL;
  1109. _sp=r109start_position((T109*)(oBC34tmp_name));
  1110. /*[IF*/
  1111. if((C)->_inside_function/*29*/){
  1112. /*[IF*/
  1113. if((C)->_inside_once_function/*33*/){
  1114. {T155*n=malloc(sizeof(*n));
  1115. *n=M155;
  1116. /*[IRF3.3make*/((((T155*)(n)))->_start_position)=(_sp);
  1117. /*]*/
  1118. R=(T0*)n;
  1119. }
  1120. }
  1121. else{
  1122. {T156*n=malloc(sizeof(*n));
  1123. *n=M156;
  1124. /*[IRF3.3make*/((((T156*)(n)))->_start_position)=(_sp);
  1125. /*]*/
  1126. R=(T0*)n;
  1127. }
  1128. }
  1129. /*FI]*/
  1130. }
  1131. else{
  1132. r21add_position(_sp);
  1133. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_116820);
  1134. r21fatal_error((T21*)(oBC12eh),b1);
  1135. }/*]*/
  1136. }
  1137. /*FI]*/
  1138. return R;
  1139. }
  1140. /*No:EIFFEL_PARSER.us_integer*/
  1141.  
  1142.  
  1143. void r34a_function_call(T34* C){
  1144. T0* _implicit_current=NULL;
  1145. T0* _sfn=NULL;
  1146. _sfn=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  1147. {T193*n=malloc(sizeof(*n));
  1148. *n=M193;
  1149. /*[IRF3.3make*/((((T193*)(n)))->_start_position)=((((T148*)_sfn))->_start_position/*8*/);
  1150. /*]*/
  1151. _implicit_current=(T0*)n;
  1152. }
  1153. r34a_r10(C,0,_implicit_current,_sfn,r34a_actuals(C));
  1154. }
  1155.  
  1156.  
  1157. T6 r34a_real_constant(T34* C){
  1158. T6 R=0;
  1159. T2 _c=0;
  1160. T2 _l=0;
  1161. _l=(C)->_line/*16*/;
  1162. _c=(C)->_column/*12*/;
  1163. /*[IF*/
  1164. if(r34skip1(C,'\53')){
  1165. /*[IF*/
  1166. if(r34a_real(C)){
  1167. r70set_line_column((T70*)(((T173*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
  1168. R=1;
  1169. }
  1170. else{
  1171. r34go_back_at(C,_l,_c);
  1172. }
  1173. /*FI]*/
  1174. }
  1175.  else if(r34skip1(C,'\55')){
  1176. /*[IF*/
  1177. if(r34a_real(C)){
  1178. r70set_line_column((T70*)(((T173*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
  1179. /*[IRF3.5unary_minus*/r7add_first(((T7*)(((T173*)((C)->_last_real_constant/*153*/))->_to_string/*8*/)),'\55');
  1180. /*]*/
  1181. R=1;
  1182. }
  1183. else{
  1184. r34go_back_at(C,_l,_c);
  1185. }
  1186. /*FI]*/
  1187. }
  1188.  else if(r34a_real(C)){
  1189. R=1;
  1190. }
  1191. /*FI]*/
  1192. return R;
  1193. }
  1194. /*No:EIFFEL_PARSER.fz_feature*/
  1195.  
  1196.  
  1197. T6 r34a_assignment_or_call(T34* C){
  1198. T6 R=0;
  1199. /*[IF*/
  1200. if((r34skip1(C,'\50'))&&(r34a_expression(C))){
  1201. R=1;
  1202. /*[IF*/
  1203. if(r34skip1(C,'\51')){
  1204. r34a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
  1205. }
  1206. else{
  1207. r34fcp(C,((T0*)ms34_11245));
  1208. }
  1209. /*FI]*/
  1210. }
  1211.  else if(r34a_precursor(C,1)){
  1212. R=1;
  1213. }
  1214.  else if(r34a_identifier(C)){
  1215. R=1;
  1216. /*[IF*/
  1217. if(r34skip2(C,'\72','\75')){
  1218. r34a_assignment_aux(C,1);
  1219. }
  1220.  else if(r34skip2(C,'\77','\75')){
  1221. r34a_assignment_aux(C,0);
  1222. }
  1223.  else if((((r34a_current(C))||(r34a_result(C)))||(r34a_local_variable(C)))||(r34a_argument(C))){
  1224. r34a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
  1225. }
  1226. else{
  1227. r34a_procedure_call(C);
  1228. }
  1229. /*FI]*/
  1230. }
  1231. /*FI]*/
  1232. return R;
  1233. }
  1234. /*No:EIFFEL_PARSER.fz_debug*/
  1235. /*No:EIFFEL_PARSER.us_native_array*/
  1236.  
  1237.  
  1238. T6 r34a_strip(T34* C){
  1239. T6 R=0;
  1240. T0* _sp=NULL;
  1241. /*[IF*/
  1242. if(r34a_keyword(C,((T0*)ms13_2885))){
  1243. {T70*n=malloc(sizeof(*n));
  1244. *n=M70;
  1245. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  1246. _sp=(T0*)n;
  1247. }
  1248. /*[IF*/
  1249. if(r34skip1(C,'\50')){
  1250. C->_ok=r34a_feature_name_list(C);
  1251. {T147*n=malloc(sizeof(*n));
  1252. *n=M147;
  1253. r147make(n,_sp,(C)->_last_feature_name_list/*109*/);
  1254. C->_last_expression=(T0*)n;
  1255. }
  1256. /*[IF*/
  1257. if(!(r34skip1(C,'\51'))){
  1258. r34fcp(C,((T0*)ms34_80379));
  1259. }
  1260. /*FI]*/
  1261. R=1;
  1262. }
  1263. else{
  1264. r34fcp(C,((T0*)ms34_65660));
  1265. }
  1266. /*FI]*/
  1267. }
  1268. /*FI]*/
  1269. return R;
  1270. }
  1271. /*No:EIFFEL_PARSER.fz_loop*/
  1272. T0*oBC34faof=NULL;
  1273.  
  1274.  
  1275. void r34disconnect(T34* C){
  1276. C->_is_running=0;
  1277. /*[IRF3.3unset_is_ready*/((((T72*)((T72*)(oBC12parser_buffer))))->_path)=(NULL);
  1278. /*]*/
  1279. }
  1280. /*No:EIFFEL_PARSER.us_pointer*/
  1281.  
  1282.  
  1283. void r34a_indexing(T34* C){
  1284. /*[IF*/
  1285. if(r34a_keyword(C,((T0*)ms13_11000))){
  1286. while (!(!(r34a_index_clause(C)))) {
  1287. C->_ok=r34skip1(C,'\73');
  1288. }
  1289. }
  1290. /*FI]*/
  1291. }
  1292. /*No:EIFFEL_PARSER.make*/
  1293.  
  1294.  
  1295. T0* r34a_actuals(T34* C){
  1296. T0* R=NULL;
  1297. T0* _remainder=NULL;
  1298. T0* _first_one=NULL;
  1299. /*[IF*/
  1300. if(r34skip1(C,'\50')){
  1301. while (!(!(r34a_actual(C)))) {
  1302. /*[IF*/
  1303. if((_first_one)==((void*)(NULL))){
  1304. _first_one=(C)->_last_expression/*97*/;
  1305. }
  1306. else{
  1307. /*[IF*/
  1308. if((_remainder)==((void*)(NULL))){
  1309. {T151*n=malloc(sizeof(*n));
  1310. *n=M151;
  1311. r151with_capacity(n,4);
  1312. _remainder=(T0*)n;
  1313. }
  1314. }
  1315. /*FI]*/
  1316. X151add_last(_remainder,(C)->_last_expression/*97*/);
  1317. }
  1318. /*FI]*/
  1319. /*[IF*/
  1320. if((!(r34skip1(C,'\54')))&&(((C)->_cc/*24*/)!=('\51'))){
  1321. /*[IRF3.6wcp*/{T34* C1=C;
  1322. T0* b1=((T0*)ms34_9410);
  1323. r34warning(r34current_position(C1),b1);
  1324. }/*]*/
  1325. }
  1326. /*FI]*/
  1327. }
  1328. /*[IF*/
  1329. if((_first_one)==((void*)(NULL))){
  1330. /*[IRF3.6wcp*/{T34* C1=C;
  1331. T0* b1=((T0*)ms34_57660);
  1332. r34warning(r34current_position(C1),b1);
  1333. }/*]*/
  1334. }
  1335. else{
  1336. {T149*n=malloc(sizeof(*n));
  1337. *n=M149;
  1338. r149make_n(n,_first_one,_remainder);
  1339. R=(T0*)n;
  1340. }
  1341. }
  1342. /*FI]*/
  1343. /*[IF*/
  1344. if(!(r34skip1(C,'\51'))){
  1345. r34fcp(C,((T0*)ms34_65695));
  1346. }
  1347. /*FI]*/
  1348. }
  1349. /*FI]*/
  1350. return R;
  1351. }
  1352.  
  1353.  
  1354. T0* r34a_clients(T34* C){
  1355. T0* R=NULL;
  1356. T2 _state=0;
  1357. T0* _list=NULL;
  1358. T0* _sp=NULL;
  1359. /*[IF*/
  1360. if(r34skip1(C,'\173')){
  1361. {T70*n=malloc(sizeof(*n));
  1362. *n=M70;
  1363. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  1364. _sp=(T0*)n;
  1365. }
  1366. while (!((_state)>(3))) {
  1367. {int z1=_state;
  1368.  
  1369. if((0==z1)){
  1370. /*[IF*/
  1371. if(r34a_base_class_name(C)){
  1372. {T195*n=malloc(sizeof(*n));
  1373. *n=M195;
  1374. /*[IRF3.3make_1*/((((T195*)(n)))->_first)=((C)->_last_class_name/*89*/);
  1375. /*]*/
  1376. _list=(T0*)n;
  1377. }
  1378. _state=2;
  1379. }
  1380.  else if(r34skip1(C,'\175')){
  1381. _state=4;
  1382. }
  1383.  else if(((C)->_cc/*24*/)==('\54')){
  1384. /*[IRF3.6wcp*/{T34* C1=C;
  1385. T0* b1=((T0*)ms34_48195);
  1386. r34warning(r34current_position(C1),b1);
  1387. }/*]*/
  1388. C->_ok=r34skip1(C,'\54');
  1389. }
  1390. else{
  1391. _state=3;
  1392. }
  1393. /*FI]*/
  1394. }
  1395.  else 
  1396. if((1==z1)){
  1397. /*[IF*/
  1398. if(r34a_base_class_name(C)){
  1399. r195add_last(((T195*)_list),(C)->_last_class_name/*89*/);
  1400. _state=2;
  1401. }
  1402.  else if(((C)->_cc/*24*/)==('\54')){
  1403. /*[IRF3.6wcp*/{T34* C1=C;
  1404. T0* b1=((T0*)ms34_48195);
  1405. r34warning(r34current_position(C1),b1);
  1406. }/*]*/
  1407. C->_ok=r34skip1(C,'\54');
  1408. }
  1409.  else if(((C)->_cc/*24*/)==('\175')){
  1410. /*[IRF3.6wcp*/{T34* C1=C;
  1411. T0* b1=((T0*)ms34_26923);
  1412. r34warning(r34current_position(C1),b1);
  1413. }/*]*/
  1414. C->_ok=r34skip1(C,'\175');
  1415. _state=4;
  1416. }
  1417. else{
  1418. _state=3;
  1419. }
  1420. /*FI]*/
  1421. }
  1422.  else 
  1423. if((2==z1)){
  1424. /*[IF*/
  1425. if(r34skip1(C,'\54')){
  1426. _state=1;
  1427. }
  1428.  else if(r34skip1(C,'\175')){
  1429. _state=4;
  1430. }
  1431.  else if(r34a_base_class_name(C)){
  1432. r34warning(((T64*)((C)->_last_class_name/*89*/))->_start_position/*4*/,((T0*)ms34_9410));
  1433. r195add_last(((T195*)_list),(C)->_last_class_name/*89*/);
  1434. }
  1435. else{
  1436. _state=3;
  1437. }
  1438. /*FI]*/
  1439. }
  1440.  else{r34fcp(C,((T0*)ms34_20247));
  1441. _state=4;
  1442. }}
  1443. }
  1444. {T101*n=malloc(sizeof(*n));
  1445. *n=M101;
  1446. r101make(n,_sp,_list);
  1447. R=(T0*)n;
  1448. }
  1449. }
  1450. else{
  1451. {T101*n=malloc(sizeof(*n));
  1452. *n=M101;
  1453. /*[IRF3.1omitted*//*]*/
  1454. R=(T0*)n;
  1455. }
  1456. }
  1457. /*FI]*/
  1458. return R;
  1459. }
  1460. /*No:EIFFEL_PARSER.us_implies*/
  1461. T0*oBC34tmp_name=NULL;
  1462. /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/
  1463.  
  1464.  
  1465. void r34a_feature_clause(T34* C){
  1466. T0* _comment=NULL;
  1467. T0* _clients=NULL;
  1468. T0* _feature_clause=NULL;
  1469. _clients=r34a_clients(C);
  1470. _comment=r34get_comments(C);
  1471. /*X99clear*//*[IRF3.3clear*/((((T99*)((T99*)(oBC34faof))))->_upper)=(-(1));
  1472. /*]*/
  1473. while (!(!(r34a_feature_declaration(C)))) {
  1474. C->_ok=r34skip1(C,'\73');
  1475. /*[IF*/
  1476. if(((C)->_last_feature_declaration/*101*/)!=((void*)(NULL))){
  1477. X99add_last(oBC34faof,(C)->_last_feature_declaration/*101*/);
  1478. X93set_header_comment((C)->_last_feature_declaration/*101*/,r34get_comments(C));
  1479. }
  1480. /*FI]*/
  1481. }
  1482. /*[IF*/
  1483. if(!(X99empty(oBC34faof))){
  1484. {T96*n=malloc(sizeof(*n));
  1485. *n=M96;
  1486. r96make(n,_clients,_comment,X99twin(oBC34faof));
  1487. _feature_clause=(T0*)n;
  1488. }
  1489. r63add_feature_clause((T63*)((C)->_last_base_class/*65*/),_feature_clause);
  1490. }
  1491.  else if((_comment)!=((void*)(NULL))){
  1492. {T96*n=malloc(sizeof(*n));
  1493. *n=M96;
  1494. r96make(n,_clients,_comment,NULL);
  1495. _feature_clause=(T0*)n;
  1496. }
  1497. r63add_feature_clause((T63*)((C)->_last_base_class/*65*/),_feature_clause);
  1498. }
  1499. /*FI]*/
  1500. C->_last_keyword=NULL;
  1501. }
  1502. /*No:EIFFEL_PARSER.us_precursor*/
  1503. /*No:EIFFEL_PARSER.fz_inherit*/
  1504. /*No:EIFFEL_PARSER.fz_variant*/
  1505. /*No:EIFFEL_PARSER.fz_inspect*/
  1506. /*No:EIFFEL_PARSER.last_character_constant*/
  1507. /*No:EIFFEL_PARSER.last_class_type*/
  1508. /*No:EIFFEL_PARSER.last_class_name*/
  1509. /*No:EIFFEL_PARSER.last_ascii_code*/
  1510. /*No:EIFFEL_PARSER.line*/
  1511. /*No:EIFFEL_PARSER.fz_require*/
  1512. /*No:EIFFEL_PARSER.fz_invariant*/
  1513.  
  1514.  
  1515. T6 r34a_integer(T34* C){
  1516. T6 R=0;
  1517. T2 _value=0;
  1518. T2 _state=0;
  1519. /*[IF*/
  1520. if(r3is_digit((C)->_cc/*24*/)){
  1521. R=1;
  1522. C->_start_line=(C)->_line/*16*/;
  1523. C->_start_column=(C)->_column/*12*/;
  1524. _value=r3value((C)->_cc/*24*/);
  1525. while (!((_state)>(7))) {
  1526. r34next_char(C);
  1527. {int z1=_state;
  1528.  
  1529. if((0==z1)){
  1530. {int z2=(C)->_cc/*24*/;
  1531.  
  1532. if(((48<=z2)&&(z2<=57))){
  1533. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1534. _state=1;
  1535. }
  1536.  else 
  1537. if((95==z2)){
  1538. _state=4;
  1539. }
  1540.  else{_state=8;
  1541. }}
  1542. }
  1543.  else 
  1544. if((1==z1)){
  1545. {int z2=(C)->_cc/*24*/;
  1546.  
  1547. if(((48<=z2)&&(z2<=57))){
  1548. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1549. _state=2;
  1550. }
  1551.  else 
  1552. if((95==z2)){
  1553. _state=4;
  1554. }
  1555.  else{_state=8;
  1556. }}
  1557. }
  1558.  else 
  1559. if((2==z1)){
  1560. {int z2=(C)->_cc/*24*/;
  1561.  
  1562. if(((48<=z2)&&(z2<=57))){
  1563. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1564. _state=3;
  1565. }
  1566.  else 
  1567. if((95==z2)){
  1568. _state=4;
  1569. }
  1570.  else{_state=8;
  1571. }}
  1572. }
  1573.  else 
  1574. if((3==z1)){
  1575. {int z2=(C)->_cc/*24*/;
  1576.  
  1577. if(((48<=z2)&&(z2<=57))){
  1578. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1579. }
  1580.  else 
  1581. if((95==z2)){
  1582. r34fcp(C,((T0*)ms34_98851));
  1583. }
  1584.  else{_state=8;
  1585. }}
  1586. }
  1587.  else 
  1588. if((4==z1)){
  1589. {int z2=(C)->_cc/*24*/;
  1590.  
  1591. if(((48<=z2)&&(z2<=57))){
  1592. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1593. _state=5;
  1594. }
  1595.  else{r34fcp(C,((T0*)ms34_98851));
  1596. }}
  1597. }
  1598.  else 
  1599. if((5==z1)){
  1600. {int z2=(C)->_cc/*24*/;
  1601.  
  1602. if(((48<=z2)&&(z2<=57))){
  1603. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1604. _state=6;
  1605. }
  1606.  else{r34fcp(C,((T0*)ms34_98851));
  1607. }}
  1608. }
  1609.  else 
  1610. if((6==z1)){
  1611. {int z2=(C)->_cc/*24*/;
  1612.  
  1613. if(((48<=z2)&&(z2<=57))){
  1614. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1615. _state=7;
  1616. }
  1617.  else{r34fcp(C,((T0*)ms34_98851));
  1618. }}
  1619. }
  1620.  else {{int z2=(C)->_cc/*24*/;
  1621.  
  1622. if(((48<=z2)&&(z2<=57))){
  1623. r34fcp(C,((T0*)ms34_98851));
  1624. }
  1625.  else 
  1626. if((95==z2)){
  1627. _state=4;
  1628. }
  1629.  else{_state=8;
  1630. }}
  1631. }}
  1632. }
  1633. /*[IF*/
  1634. if(r3is_letter((C)->_cc/*24*/)){
  1635. r34fcp(C,((T0*)ms34_31689));
  1636. }
  1637. /*FI]*/
  1638. r34skip_comments(C);
  1639. {T174*n=malloc(sizeof(*n));
  1640. *n=M174;
  1641. r174make(n,_value,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  1642. C->_last_integer_constant=(T0*)n;
  1643. }
  1644. }
  1645. /*FI]*/
  1646. return R;
  1647. }
  1648.  
  1649.  
  1650. T0* r34current_position(T34* C){
  1651. T0* R=NULL;
  1652. {T70*n=malloc(sizeof(*n));
  1653. *n=M70;
  1654. r70make(n,(C)->_line/*16*/,(C)->_column/*12*/);
  1655. R=(T0*)n;
  1656. }
  1657. return R;
  1658. }
  1659. T0*oBC34forbidden_class=NULL;
  1660.  
  1661.  
  1662. T6 r34a_manifest_string(T34* C){
  1663. T6 R=0;
  1664. T2 _state=0;
  1665. /*[IF*/
  1666. if(((C)->_cc/*24*/)==('\42')){
  1667. R=1;
  1668. {T171*n=malloc(sizeof(*n));
  1669. *n=M171;
  1670. r171make(n,r34pos((C)->_line/*16*/,(C)->_column/*12*/));
  1671. C->_last_manifest_string=(T0*)n;
  1672. }
  1673. while (!((_state)>(3))) {
  1674. r34next_char(C);
  1675. {int z1=_state;
  1676.  
  1677. if((0==z1)){
  1678. {int z2=(C)->_cc/*24*/;
  1679.  
  1680. if((10==z2)){
  1681. r34fcp(C,((T0*)ms34_91143));
  1682. }
  1683.  else 
  1684. if((34==z2)){
  1685. _state=4;
  1686. }
  1687.  else 
  1688. if((37==z2)){
  1689. _state=1;
  1690. }
  1691.  else{/*[IRF3.5add*/r7extend(((T7*)(((T171*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/)),(C)->_cc/*24*/);
  1692. /*]*/
  1693. }}
  1694. }
  1695.  else 
  1696. if((1==z1)){
  1697. _state=0;
  1698. {int z2=(C)->_cc/*24*/;
  1699.  
  1700. if((10==z2)){
  1701. _state=3;
  1702. }
  1703.  else 
  1704. if((65==z2)){
  1705. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\100');
  1706. }
  1707.  else 
  1708. if((66==z2)){
  1709. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\10');
  1710. }
  1711.  else 
  1712. if((67==z2)){
  1713. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\136');
  1714. }
  1715.  else 
  1716. if((68==z2)){
  1717. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\44');
  1718. }
  1719.  else 
  1720. if((70==z2)){
  1721. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\14');
  1722. }
  1723.  else 
  1724. if((72==z2)){
  1725. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\134');
  1726. }
  1727.  else 
  1728. if((76==z2)){
  1729. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\176');
  1730. }
  1731.  else 
  1732. if((78==z2)){
  1733. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\n');
  1734. }
  1735.  else 
  1736. if((81==z2)){
  1737. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\140');
  1738. }
  1739.  else 
  1740. if((82==z2)){
  1741. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\15');
  1742. }
  1743.  else 
  1744. if((83==z2)){
  1745. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\43');
  1746. }
  1747.  else 
  1748. if((84==z2)){
  1749. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\11');
  1750. }
  1751.  else 
  1752. if((85==z2)){
  1753. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\0');
  1754. }
  1755.  else 
  1756. if((86==z2)){
  1757. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\174');
  1758. }
  1759.  else 
  1760. if((37==z2)){
  1761. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\45');
  1762. }
  1763.  else 
  1764. if((39==z2)){
  1765. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\47');
  1766. }
  1767.  else 
  1768. if((34==z2)){
  1769. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\42');
  1770. }
  1771.  else 
  1772. if((40==z2)){
  1773. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\133');
  1774. }
  1775.  else 
  1776. if((41==z2)){
  1777. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\135');
  1778. }
  1779.  else 
  1780. if((60==z2)){
  1781. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\173');
  1782. }
  1783.  else 
  1784. if((62==z2)){
  1785. r171add_percent((T171*)((C)->_last_manifest_string/*145*/),'\175');
  1786. }
  1787.  else 
  1788. if((47==z2)){
  1789. r34a_ascii_code(C);
  1790. r171add_ascii((T171*)((C)->_last_manifest_string/*145*/),((T3)((C)->_last_ascii_code/*61*/)));
  1791. }
  1792.  else 
  1793. if((9==z2)||(32==z2)){
  1794. _state=2;
  1795. }
  1796.  else{r34fcp(C,((T0*)ms34_45084a));
  1797. _state=0;
  1798. }}
  1799. }
  1800.  else 
  1801. if((2==z1)){
  1802. {int z2=(C)->_cc/*24*/;
  1803.  
  1804. if((10==z2)){
  1805. _state=3;
  1806. }
  1807.  else 
  1808. if((9==z2)||(32==z2)){
  1809. }
  1810.  else{r34fcp(C,((T0*)ms34_192660));
  1811. }}
  1812. }
  1813.  else{{int z2=(C)->_cc/*24*/;
  1814.  
  1815. if((9==z2)||(32==z2)){
  1816. }
  1817.  else 
  1818. if((37==z2)){
  1819. r171break_line((T171*)((C)->_last_manifest_string/*145*/));
  1820. _state=0;
  1821. }
  1822.  else 
  1823. if((10==z2)){
  1824. r34fcp(C,((T0*)ms34_91143));
  1825. _state=0;
  1826. }
  1827.  else{r34fcp(C,((T0*)ms34_204786));
  1828. _state=0;
  1829. }}
  1830. }}
  1831. }
  1832. r34next_char(C);
  1833. r34skip_comments(C);
  1834. }
  1835. /*FI]*/
  1836. return R;
  1837. }
  1838. /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/
  1839.  
  1840.  
  1841. void r34a_class_declaration(T34* C){
  1842. T6 _drop_comments_save=0;
  1843. T0* _al=NULL;
  1844. T0* _hc=NULL;
  1845. T0* _sp=NULL;
  1846. r34a_indexing(C);
  1847. /*[IF*/
  1848. if(r34a_keyword(C,((T0*)ms13_10664))){
  1849. r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
  1850. }
  1851. /*FI]*/
  1852. /*[IF*/
  1853. if(r34a_keyword(C,((T0*)ms13_10840))){
  1854. r63set_is_expanded((T63*)((C)->_last_base_class/*65*/));
  1855. /*[IF*/
  1856. if(r34a_keyword(C,((T0*)ms13_10664))){
  1857. r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
  1858. }
  1859. /*FI]*/
  1860. }
  1861. /*FI]*/
  1862. /*[IRF3.3set_heading_comment1*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment1)=(r34get_comments(C));
  1863. /*]*/
  1864. /*[IF*/
  1865. if(!(r34a_keyword(C,((T0*)ms13_2745)))){
  1866. r34fcp(C,((T0*)ms34_42300));
  1867. }
  1868. /*FI]*/
  1869. r34a_base_class_name1(C);
  1870. r34a_formal_generic_list(C);
  1871. /*[IF*/
  1872. if(r34a_keyword(C,((T0*)ms13_10928))){
  1873. /*[IF*/
  1874. if(r34a_manifest_string(C)){
  1875. /*[IRF3.3set_obsolete_type_string*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_obsolete_type_string)=((C)->_last_manifest_string/*145*/);
  1876. /*]*/
  1877. }
  1878. else{
  1879. r34fcp(C,((T0*)ms34_125396));
  1880. }
  1881. /*FI]*/
  1882. }
  1883. /*FI]*/
  1884. /*[IRF3.3set_heading_comment2*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(r34get_comments(C));
  1885. /*]*/
  1886. /*[IF*/
  1887. if(r34a_keyword(C,((T0*)ms13_9527))){
  1888. r34a_parent_list(C,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),r34get_comments(C));
  1889. }
  1890. /*FI]*/
  1891. while (!(!(r34a_keyword(C,((T0*)ms13_11376))))) {
  1892. r34a_creation_clause(C,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  1893. }
  1894. while (!(!(r34a_keyword(C,((T0*)ms13_8785))))) {
  1895. r34a_feature_clause(C);
  1896. }
  1897. _drop_comments_save=(C)->_drop_comments/*4*/;
  1898. C->_drop_comments=0;
  1899. /*[IF*/
  1900. if(r34a_keyword(C,((T0*)ms13_14427))){
  1901. {T70*n=malloc(sizeof(*n));
  1902. *n=M70;
  1903. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  1904. _sp=(T0*)n;
  1905. }
  1906. _hc=r34get_comments(C);
  1907. _al=r34a_assertion(C);
  1908. r63set_invariant((T63*)((C)->_last_base_class/*65*/),_sp,_hc,_al);
  1909. }
  1910. /*FI]*/
  1911. /*[IF*/
  1912. if((r34a_keyword(C,((T0*)ms13_951)))||(((C)->_last_keyword/*113*/)==((void*)(((T0*)ms13_951))))){
  1913. /*[IF*/
  1914. if(((C)->_cc/*24*/)==('\73')){
  1915. /*[IRF3.6wcp*/{T34* C1=C;
  1916. T0* b1=((T0*)ms13_41475);
  1917. r34warning(r34current_position(C1),b1);
  1918. }/*]*/
  1919. C->_ok=r34skip1(C,'\73');
  1920. }
  1921. /*FI]*/
  1922. /*[IRF3.3set_end_comment*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_end_comment)=(r34get_comments(C));
  1923. /*]*/
  1924. /*[IF*/
  1925. if(((C)->_cc/*24*/)!=('\0')){
  1926. r34fcp(C,((T0*)ms34_29463));
  1927. }
  1928. /*FI]*/
  1929. }
  1930. else{
  1931. r34fcp(C,((T0*)ms34_117540));
  1932. }
  1933. /*FI]*/
  1934. C->_drop_comments=_drop_comments_save;
  1935. }
  1936. /*No:EIFFEL_PARSER.last_base_class*/
  1937.  
  1938.  
  1939. void r34a_after_a_dot(T34* C,T6 a1,T0* a2){
  1940. T0* _eal=NULL;
  1941. T0* _sfn=NULL;
  1942. /*[IF*/
  1943. if(r34a_identifier(C)){
  1944. /*[IF*/
  1945. if(((r34a_result(C))||(r34a_void(C)))||(r34a_current(C))){
  1946. r21add_position(X56start_position((C)->_last_expression/*97*/));
  1947. r21error((T21*)(oBC12eh),((T0*)ms34_83714));
  1948. }
  1949. /*FI]*/
  1950. _sfn=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  1951. _eal=r34a_actuals(C);
  1952. r34a_r10(C,a1,a2,_sfn,_eal);
  1953. }
  1954. else{
  1955. r34fcp(C,((T0*)ms34_63584));
  1956. }
  1957. /*FI]*/
  1958. }
  1959. /*No:EIFFEL_PARSER.nb_errors*/
  1960.  
  1961.  
  1962. T6 r34a_actual(T34* C){
  1963. T6 R=0;
  1964. /*[IF*/
  1965. if(r34skip1(C,'\44')){
  1966. /*[IF*/
  1967. if(r34a_identifier(C)){
  1968. /*[IF*/
  1969. if(((r34a_result(C))||(r34a_void(C)))||(r34a_current(C))){
  1970. r21add_position(X56start_position((C)->_last_expression/*97*/));
  1971. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_98482);
  1972. r21fatal_error((T21*)(oBC12eh),b1);
  1973. }/*]*/
  1974. }
  1975. else{
  1976. {T160*n=malloc(sizeof(*n));
  1977. *n=M160;
  1978. /*[IRF3.3make*/((((T160*)(n)))->_feature_name)=(r109to_simple_feature_name((T109*)(oBC34tmp_name)));
  1979. /*]*/
  1980. C->_last_expression=(T0*)n;
  1981. }
  1982. R=1;
  1983. }
  1984. /*FI]*/
  1985. }
  1986. else{
  1987. r34fcp(C,((T0*)ms34_98482));
  1988. }
  1989. /*FI]*/
  1990. }
  1991.  else if(r34a_expression(C)){
  1992. R=1;
  1993. }
  1994. /*FI]*/
  1995. return R;
  1996. }
  1997.  
  1998.  
  1999. T6 r34a_infix(T34* C){
  2000. T6 R=0;
  2001. T0* _sp=NULL;
  2002. /*[IF*/
  2003. if(r34a_keyword(C,((T0*)ms13_2785))){
  2004. R=1;
  2005. {T70*n=malloc(sizeof(*n));
  2006. *n=M70;
  2007. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2008. _sp=(T0*)n;
  2009. }
  2010. /*[IF*/
  2011. if(((C)->_cc/*24*/)==('\42')){
  2012. r34next_char(C);
  2013. }
  2014. else{
  2015. /*[IRF3.6wcp*/{T34* C1=C;
  2016. T0* b1=((T0*)ms34_85196);
  2017. r34warning(r34current_position(C1),b1);
  2018. }/*]*/
  2019. }
  2020. /*FI]*/
  2021. /*[IF*/
  2022. if(r34a_binary(C,_sp)){
  2023. C->_last_infix=(C)->_last_binary/*73*/;
  2024. }
  2025.  else if(r34a_free_operator(C)){
  2026. C->_last_infix=r109to_infix_name(_sp);
  2027. }
  2028. else{
  2029. r34fcp(C,((T0*)ms34_53911));
  2030. }
  2031. /*FI]*/
  2032. /*[IF*/
  2033. if(!(r34skip1(C,'\42'))){
  2034. /*[IRF3.6wcp*/{T34* C1=C;
  2035. T0* b1=((T0*)ms34_38352a);
  2036. r34warning(r34current_position(C1),b1);
  2037. }/*]*/
  2038. }
  2039. /*FI]*/
  2040. }
  2041. /*FI]*/
  2042. return R;
  2043. }
  2044. /*No:EIFFEL_PARSER.us_plus*/
  2045.  
  2046.  
  2047. void r34a_parent_list(T34* C,T0* a1,T0* a2){
  2048. T0* _list=NULL;
  2049. while (!(!(r34a_parent(C)))) {
  2050. /*[IF*/
  2051. if((_list)==((void*)(NULL))){
  2052. _list=se_ma80(1,
  2053. (C)->_last_parent/*149*/);
  2054. }
  2055. else{
  2056. r80add_last(((T80*)_list),(C)->_last_parent/*149*/);
  2057. }
  2058. /*FI]*/
  2059. C->_ok=r34skip1(C,'\73');
  2060. /*[IRF3.3set_comment*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_comment)=(r34get_comments(C));
  2061. /*]*/
  2062. }
  2063. /*[IF*/
  2064. if(((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))){
  2065. /*[IF*/
  2066. if((_list)==((void*)(NULL))){
  2067. /*[IF*/
  2068. if((((T63*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/)==((void*)(NULL))){
  2069. /*[IRF3.3set_heading_comment2*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(a2);
  2070. /*]*/
  2071. }
  2072. else{
  2073. r82append((T82*)(((T63*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/),a2);
  2074. }
  2075. /*FI]*/
  2076. }
  2077. else{
  2078. r63set_parent_list((T63*)((C)->_last_base_class/*65*/),a1,a2,_list);
  2079. }
  2080. /*FI]*/
  2081. }
  2082. /*FI]*/
  2083. }
  2084. /*No:EIFFEL_PARSER.fz_check*/
  2085. /*No:EIFFEL_PARSER.us_muls*/
  2086. /*No:EIFFEL_PARSER.cc*/
  2087.  
  2088.  
  2089. void r34prev_char(T34* C){
  2090. /*[IF*/
  2091. if(((C)->_column/*12*/)>(1)){
  2092. C->_column=((C)->_column/*12*/)-(1);
  2093. C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
  2094. }
  2095. else{
  2096. /*[IF*/
  2097. if(((C)->_line/*16*/)>(1)){
  2098. C->_line=((C)->_line/*16*/)-(1);
  2099. C->_current_line=r72item((C)->_line/*16*/);
  2100. C->_column=(((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1);
  2101. C->_cc='\n';
  2102. }
  2103. else{
  2104. C->_column=0;
  2105. C->_cc='\0';
  2106. }
  2107. /*FI]*/
  2108. }
  2109. /*FI]*/
  2110. }
  2111.  
  2112.  
  2113. T6 r34a_inspect(T34* C){
  2114. T6 R=0;
  2115. T0* _ec=NULL;
  2116. T0* _i=NULL;
  2117. T0* _spec=NULL;
  2118. T0* _sp=NULL;
  2119. /*[IF*/
  2120. if(r34a_keyword(C,((T0*)ms13_9590))){
  2121. R=1;
  2122. {T70*n=malloc(sizeof(*n));
  2123. *n=M70;
  2124. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2125. _sp=(T0*)n;
  2126. }
  2127. /*[IF*/
  2128. if(r34a_expression(C)){
  2129. C->_last_expression=X56add_comment((C)->_last_expression/*97*/,r34get_comments(C));
  2130. }
  2131. else{
  2132. r34fcp(C,((T0*)ms34_82621));
  2133. }
  2134. /*FI]*/
  2135. {T232*n=malloc(sizeof(*n));
  2136. *n=M232;
  2137. r232make(n,_sp,(C)->_last_expression/*97*/);
  2138. _i=(T0*)n;
  2139. }
  2140. while (!(!(r34a_when_part(C,_i)))) {
  2141. }
  2142. /*[IF*/
  2143. if(r34a_keyword(C,((T0*)ms13_1740))){
  2144. {T70*n=malloc(sizeof(*n));
  2145. *n=M70;
  2146. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2147. _spec=(T0*)n;
  2148. }
  2149. _ec=r34a_compound2(C,((T0*)ms34_33180),((T0*)ms13_951));
  2150. r232set_else_compound(((T232*)_i),_spec,_ec);
  2151. }
  2152.  else if(!(r34a_keyword(C,((T0*)ms13_951)))){
  2153. /*[IRF3.6wcp*/{T34* C1=C;
  2154. T0* b1=((T0*)ms34_76932);
  2155. r34warning(r34current_position(C1),b1);
  2156. }/*]*/
  2157. }
  2158. /*FI]*/
  2159. C->_last_instruction=_i;
  2160. }
  2161. /*FI]*/
  2162. return R;
  2163. }
  2164.  
  2165.  
  2166. T6 r34a_current(T34* C){
  2167. T6 R=0;
  2168. /*[IF*/
  2169. if(r109is_current()){
  2170. {T158*n=malloc(sizeof(*n));
  2171. *n=M158;
  2172. /*[IRF3.3make*/((((T158*)(n)))->_start_position)=(r109start_position((T109*)(oBC34tmp_name)));
  2173. /*]*/
  2174. C->_last_expression=(T0*)n;
  2175. }
  2176. R=1;
  2177. }
  2178. /*FI]*/
  2179. return R;
  2180. }
  2181.  
  2182.  
  2183. void r34a_rename_list(T34* C){
  2184. while (!(!(r34a_rename_pair(C)))) {
  2185. C->_ok=r34skip1(C,'\54');
  2186. }
  2187. }
  2188. /*No:EIFFEL_PARSER.us_or_else*/
  2189. /*No:EIFFEL_PARSER.case_insensitive*/
  2190. /*No:EIFFEL_PARSER.last_comments*/
  2191.  
  2192.  
  2193. void r34next_char(T34* C){
  2194. /*[IF*/
  2195. if(((C)->_column/*12*/)<(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
  2196. C->_column=((C)->_column/*12*/)+(1);
  2197. C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
  2198. }
  2199.  else if(((C)->_column/*12*/)==(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
  2200. C->_column=((C)->_column/*12*/)+(1);
  2201. C->_cc='\n';
  2202. }
  2203.  else if(((C)->_line/*16*/)==(((T72*)(oBC12parser_buffer))->_count/*4*/)){
  2204. C->_cc='\0';
  2205. }
  2206. else{
  2207. C->_column=1;
  2208. C->_line=((C)->_line/*16*/)+(1);
  2209. C->_current_line=r72item((C)->_line/*16*/);
  2210. /*[IF*/
  2211. if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
  2212. C->_cc='\n';
  2213. }
  2214. else{
  2215. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  2216. }
  2217. /*FI]*/
  2218. }
  2219. /*FI]*/
  2220. }
  2221. /*No:EIFFEL_PARSER.us_slash*/
  2222.  
  2223.  
  2224. T6 r34a_unary(T34* C){
  2225. T6 R=0;
  2226. /*[IF*/
  2227. if(r34a_keyword(C,((T0*)ms14_1029))){
  2228. {T142*n=malloc(sizeof(*n));
  2229. *n=M142;
  2230. r142make(n,((T0*)ms14_1029),r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2231. C->_last_prefix=(T0*)n;
  2232. }
  2233. R=1;
  2234. }
  2235.  else if(r34skip1(C,'\53')){
  2236. {T142*n=malloc(sizeof(*n));
  2237. *n=M142;
  2238. r142make(n,((T0*)ms14_44),r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2239. C->_last_prefix=(T0*)n;
  2240. }
  2241. R=1;
  2242. }
  2243.  else if(r34skip1(C,'\55')){
  2244. {T142*n=malloc(sizeof(*n));
  2245. *n=M142;
  2246. r142make(n,((T0*)ms14_46),r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2247. C->_last_prefix=(T0*)n;
  2248. }
  2249. R=1;
  2250. }
  2251. /*FI]*/
  2252. return R;
  2253. }
  2254. /*No:EIFFEL_PARSER.drop_comments*/
  2255. /*No:EIFFEL_PARSER.ok*/
  2256.  
  2257.  
  2258. T0* r34analyse_class(T34* C,T0* a1){
  2259. T0* R=NULL;
  2260. T0* _path=NULL;
  2261. T2 _old_nbw=0;
  2262. T2 _old_nbe=0;
  2263. _path=((T72*)(oBC12parser_buffer))->_path/*0*/;
  2264. /*[IF*/
  2265. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)){
  2266. /*[IRF3.6append*/{T0* b1=((T0*)ms34_63808);
  2267. r7append((T7*)(oBC21explanation),b1);
  2268. }/*]*/
  2269. r21print_as_fatal_error((T21*)(oBC12eh));
  2270. }
  2271. /*FI]*/
  2272. r28put_integer((T28*)(oBC12echo),(/*(IRF4.9base_class_count*/((T66*)(oBC22base_class_dictionary))->_count/*36*//*)*/)+(1));
  2273. r28put_character((T28*)(oBC12echo),'\11');
  2274. r28put_string((T28*)(oBC12echo),_path);
  2275. r28put_character((T28*)(oBC12echo),'\n');
  2276. _old_nbe=/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/;
  2277. _old_nbw=/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/;
  2278. C->_is_running=1;
  2279. C->_inside_function=0;
  2280. C->_inside_once_function=0;
  2281. C->_in_ensure=0;
  2282. C->_last_comments=NULL;
  2283. C->_line=1;
  2284. C->_column=1;
  2285. C->_current_line=r72item((C)->_line/*16*/);
  2286. /*[IF*/
  2287. if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
  2288. C->_cc='\n';
  2289. }
  2290. else{
  2291. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  2292. }
  2293. /*FI]*/
  2294. {T63*n=malloc(sizeof(*n));
  2295. *n=M63;
  2296. r63make(n);
  2297. C->_last_base_class=(T0*)n;
  2298. }
  2299. r34skip_comments(C);
  2300. r34a_class_declaration(C);
  2301. C->_is_running=0;
  2302. /*[IRF3.3unset_is_ready*/((((T72*)((T72*)(oBC12parser_buffer))))->_path)=(NULL);
  2303. /*]*/
  2304. R=(C)->_last_base_class/*65*/;
  2305. /*[IF*/
  2306. if(((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)-(_old_nbe))>(0)){
  2307. /*[IRF3.2show_nb_errors*/r34show_nb(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/,((T0*)ms34_6567));
  2308. /*]*/
  2309. r28w_put_string(((T0*)ms34_10068));
  2310. r28w_put_string(_path);
  2311. r28w_put_string(((T0*)ms34_5467));
  2312. R=NULL;
  2313. }
  2314.  else if(((/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/)-(_old_nbw))>(0)){
  2315. /*[IRF3.2show_nb_warnings*/r34show_nb(/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/,((T0*)ms34_8021));
  2316. /*]*/
  2317. }
  2318. /*FI]*/
  2319. /*[IF*/
  2320. if((R)!=((void*)(NULL))){
  2321. r22add_class((T22*)(oBC12small_eiffel),R);
  2322. /*[IF*/
  2323. if(((a1)!=((void*)(NULL)))&&(((((T64*)a1))->_to_string/*0*/)!=((void*)(((T64*)((((T63*)R))->_name/*24*/))->_to_string/*0*/)))){
  2324. r21add_position((((T64*)a1))->_start_position/*4*/);
  2325. /*[IRF3.6append*/{T0* b1=((T0*)ms13_3810);
  2326. r7append((T7*)(oBC21explanation),b1);
  2327. }/*]*/
  2328. /*[IRF3.6append*/{T0* b1=_path;
  2329. r7append((T7*)(oBC21explanation),b1);
  2330. }/*]*/
  2331. /*[IRF3.6append*/{T0* b1=((T0*)ms34_35397);
  2332. r7append((T7*)(oBC21explanation),b1);
  2333. }/*]*/
  2334. /*[IRF3.6append*/{T0* b1=(((T64*)a1))->_to_string/*0*/;
  2335. r7append((T7*)(oBC21explanation),b1);
  2336. }/*]*/
  2337. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_166);
  2338. r21fatal_error((T21*)(oBC12eh),b1);
  2339. }/*]*/
  2340. }
  2341. /*FI]*/
  2342. r63get_started(((T63*)R));
  2343. }
  2344. /*FI]*/
  2345. return R;
  2346. }
  2347.  
  2348.  
  2349. void r34skip_comments(T34* C){
  2350. T2 _state=0;
  2351. T0* _sp=NULL;
  2352. while (!((_state)==(2))) {
  2353. {int z1=_state;
  2354.  
  2355. if((0==z1)){
  2356. {int z2=(C)->_cc/*24*/;
  2357.  
  2358. if(((9<=z2)&&(z2<=10))||(32==z2)){
  2359. r34next_char(C);
  2360. }
  2361.  else 
  2362. if((45==z2)){
  2363. r34next_char(C);
  2364. _state=1;
  2365. }
  2366.  else{_state=2;
  2367. }}
  2368. }
  2369.  else {{int z2=(C)->_cc/*24*/;
  2370.  
  2371. if((45==z2)){
  2372. /*[IF*/
  2373. if((C)->_drop_comments/*4*/){
  2374. }
  2375. else{
  2376. /*[IF*/
  2377. if(((C)->_last_comments/*25*/)==((void*)(NULL))){
  2378. {T70*n=malloc(sizeof(*n));
  2379. *n=M70;
  2380. r70make(n,(C)->_line/*16*/,((C)->_column/*12*/)-(1));
  2381. _sp=(T0*)n;
  2382. }
  2383. }
  2384. /*FI]*/
  2385. }
  2386. /*FI]*/
  2387. r34next_char(C);
  2388. /*[IRF3.3clear*/((((T7*)((T7*)(oBC34lcs))))->_count)=(0);
  2389. /*]*/
  2390. while (!(((C)->_cc/*24*/)==('\n'))) {
  2391. r7extend((T7*)(oBC34lcs),(C)->_cc/*24*/);
  2392. r34next_char(C);
  2393. }
  2394. /*[IF*/
  2395. if((C)->_drop_comments/*4*/){
  2396. }
  2397. else{
  2398. /*[IF*/
  2399. if(((C)->_last_comments/*25*/)==((void*)(NULL))){
  2400. {T82*n=malloc(sizeof(*n));
  2401. *n=M82;
  2402. r82make(n,_sp,se_ma39(1,
  2403. r7twin((T7*)(oBC34lcs))));
  2404. C->_last_comments=(T0*)n;
  2405. }
  2406. }
  2407. else{
  2408. /*[IRF3.5add_last*/r39add_last(((T39*)(((T82*)((C)->_last_comments/*25*/))->_list/*4*/)),r7twin((T7*)(oBC34lcs)));
  2409. /*]*/
  2410. }
  2411. /*FI]*/
  2412. }
  2413. /*FI]*/
  2414. _state=0;
  2415. }
  2416.  else{r34prev_char(C);
  2417. _state=2;
  2418. }}
  2419. }}
  2420. }
  2421. }
  2422.  
  2423.  
  2424. T6 r34a_local_variable(T34* C){
  2425. T6 R=0;
  2426. T2 _rank=0;
  2427. /*[IF*/
  2428. if(((C)->_local_vars/*53*/)!=((void*)(NULL))){
  2429. _rank=r178rank_of((T178*)((C)->_local_vars/*53*/),r109to_string((T109*)(oBC34tmp_name)));
  2430. /*[IF*/
  2431. if((_rank)>(0)){
  2432. C->_last_expression=r109to_local_name2((T109*)(oBC34tmp_name),(C)->_local_vars/*53*/,_rank);
  2433. R=1;
  2434. }
  2435. /*FI]*/
  2436. }
  2437. /*FI]*/
  2438. return R;
  2439. }
  2440. /*No:EIFFEL_PARSER.start_line*/
  2441.  
  2442.  
  2443. T6 r34a_retry(T34* C){
  2444. T6 R=0;
  2445. /*[IF*/
  2446. if(r34a_keyword(C,((T0*)ms13_2905))){
  2447. /*[IF*/
  2448. if(!((C)->_in_rescue/*45*/)){
  2449. r34error(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms34_115380));
  2450. }
  2451. /*FI]*/
  2452. {T231*n=malloc(sizeof(*n));
  2453. *n=M231;
  2454. /*[IRF3.3make*/((((T231*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2455. /*]*/
  2456. C->_last_instruction=(T0*)n;
  2457. }
  2458. R=1;
  2459. }
  2460. /*FI]*/
  2461. return R;
  2462. }
  2463. /*No:EIFFEL_PARSER.arguments*/
  2464.  
  2465.  
  2466. T6 r34a_e10(T34* C){
  2467. T6 R=0;
  2468. /*[IF*/
  2469. if(r34a_strip(C)){
  2470. R=1;
  2471. }
  2472.  else if(r34skip1(C,'\50')){
  2473. R=1;
  2474. /*[IF*/
  2475. if(r34a_expression(C)){
  2476. /*[IF*/
  2477. if(r34skip1(C,'\51')){
  2478. r34a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
  2479. }
  2480. else{
  2481. r34fcp(C,((T0*)ms34_40743));
  2482. }
  2483. /*FI]*/
  2484. }
  2485. else{
  2486. r34fcp(C,((T0*)ms34_29020));
  2487. }
  2488. /*FI]*/
  2489. }
  2490.  else if(r34a_manifest_constant(C)){
  2491. C->_last_expression=(C)->_last_manifest_constant/*141*/;
  2492. R=1;
  2493. /*[IF*/
  2494. if(r34skip1unless2(C,'\56','\56')){
  2495. /*[IRF3.6wcp*/{T34* C1=C;
  2496. T0* b1=((T0*)ms34_129072);
  2497. r34warning(r34current_position(C1),b1);
  2498. }/*]*/
  2499. r34a_after_a_dot(C,0,(C)->_last_expression/*97*/);
  2500. }
  2501. /*FI]*/
  2502. }
  2503.  else if(r34a_precursor(C,0)){
  2504. R=1;
  2505. }
  2506.  else if(r34a_identifier(C)){
  2507. R=1;
  2508. /*[IF*/
  2509. if(((((r34a_result(C))||(r34a_current(C)))||(r34a_void(C)))||(r34a_local_variable(C)))||(r34a_argument(C))){
  2510. r34a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
  2511. }
  2512. else{
  2513. r34a_function_call(C);
  2514. }
  2515. /*FI]*/
  2516. }
  2517. /*FI]*/
  2518. return R;
  2519. }
  2520. /*No:EIFFEL_PARSER.fz_select*/
  2521.  
  2522.  
  2523. T6 r34a_conditional(T34* C){
  2524. T6 R=0;
  2525. T0* _ifthenelse=NULL;
  2526. /*[IF*/
  2527. if(r34a_keyword(C,((T0*)ms13_420))){
  2528. R=1;
  2529. {T222*n=malloc(sizeof(*n));
  2530. *n=M222;
  2531. /*[IRF3.3make*/((((T222*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2532. /*]*/
  2533. _ifthenelse=(T0*)n;
  2534. }
  2535. r34a_then_part_list(C,_ifthenelse);
  2536. /*[IF*/
  2537. if(r34a_keyword(C,((T0*)ms13_1740))){
  2538. /*[IRF3.3set_else_compound*/((((T222*)(((T222*)_ifthenelse))))->_else_compound)=(r34a_compound2(C,((T0*)ms34_13644),((T0*)ms13_951)));
  2539. /*]*/
  2540. }
  2541. else{
  2542. /*[IF*/
  2543. if(!(r34a_keyword(C,((T0*)ms13_951)))){
  2544. /*[IRF3.6wcp*/{T34* C1=C;
  2545. T0* b1=((T0*)ms34_29240);
  2546. r34warning(r34current_position(C1),b1);
  2547. }/*]*/
  2548. }
  2549. /*FI]*/
  2550. }
  2551. /*FI]*/
  2552. C->_last_instruction=_ifthenelse;
  2553. }
  2554. /*FI]*/
  2555. return R;
  2556. }
  2557. /*No:EIFFEL_PARSER.set_case_insensitive*/
  2558. /*No:EIFFEL_PARSER.is_running*/
  2559.  
  2560.  
  2561. void r34a_r10(T34* C,T6 a1,T0* a2,T0* a3,T0* a4){
  2562. /*[IF*/
  2563. if(r34skip1unless2(C,'\56','\56')){
  2564. r34a_after_a_dot(C,a1,r34to_call(a2,a3,a4));
  2565. }
  2566. else{
  2567. /*[IF*/
  2568. if(a1){
  2569. C->_last_instruction=r34to_proc_call(C,a2,a3,a4);
  2570. C->_last_expression=NULL;
  2571. }
  2572. else{
  2573. C->_last_expression=r34to_call(a2,a3,a4);
  2574. C->_last_instruction=NULL;
  2575. }
  2576. /*FI]*/
  2577. }
  2578. /*FI]*/
  2579. }
  2580. /*No:EIFFEL_PARSER.last_prefix*/
  2581. T0*oBC34tmp_string=NULL;
  2582. /*No:EIFFEL_PARSER.last_infix*/
  2583. /*No:EIFFEL_PARSER.fz_export*/
  2584.  
  2585.  
  2586. T6 r34a_tag_mark(T34* C){
  2587. T6 R=0;
  2588. /*[IF*/
  2589. if(r34a_identifier(C)){
  2590. /*[IF*/
  2591. if(r34skip1unless2(C,'\72','\75')){
  2592. R=1;
  2593. C->_last_tag_mark=r109to_tag_name((T109*)(oBC34tmp_name));
  2594. }
  2595. else{
  2596. C->_last_tag_mark=NULL;
  2597. r34go_back_at(C,((T109*)(oBC34tmp_name))->_li/*4*/,((T109*)(oBC34tmp_name))->_co/*8*/);
  2598. }
  2599. /*FI]*/
  2600. }
  2601. else{
  2602. C->_last_tag_mark=NULL;
  2603. }
  2604. /*FI]*/
  2605. return R;
  2606. }
  2607. /*No:EIFFEL_PARSER.last_feature_name_list*/
  2608. /*No:EIFFEL_PARSER.last_manifest_constant*/
  2609. /*No:EIFFEL_PARSER.fz_local*/
  2610. /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/
  2611. /*No:EIFFEL_PARSER.current_class*/
  2612. /*No:EIFFEL_PARSER.last_tag_mark*/
  2613.  
  2614.  
  2615. void r34a_base_class_name1(T34* C){
  2616. T0* _ccn=NULL;
  2617. T6 _do_warning=0;
  2618. T2 _state=0;
  2619. _ccn=((T63*)((C)->_last_base_class/*65*/))->_name/*24*/;
  2620. /*[IF*/
  2621. if(r3is_letter((C)->_cc/*24*/)){
  2622. r70set_line_column((T70*)((((T64*)_ccn))->_start_position/*4*/),(C)->_line/*16*/,(C)->_column/*12*/);
  2623. r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  2624. /*[IF*/
  2625. if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
  2626. _do_warning=1;
  2627. C->_cc=r3to_upper((C)->_cc/*24*/);
  2628. }
  2629. /*FI]*/
  2630. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  2631. r7extend((T7*)(oBC109tmp_string),b1);
  2632. }/*]*/
  2633. while (!((_state)>(0))) {
  2634. r34next_char(C);
  2635. {int z1=(C)->_cc/*24*/;
  2636.  
  2637. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  2638. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  2639. r7extend((T7*)(oBC109tmp_string),b1);
  2640. }/*]*/
  2641. }
  2642.  else 
  2643. if(((97<=z1)&&(z1<=122))){
  2644. _do_warning=1;
  2645. /*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
  2646. r7extend((T7*)(oBC109tmp_string),b1);
  2647. }/*]*/
  2648. }
  2649.  else{_state=1;
  2650. }}
  2651. }
  2652. r34skip_comments(C);
  2653. /*[IF*/
  2654. if(r109isa_keyword()){
  2655. r21add_position((((T64*)_ccn))->_start_position/*4*/);
  2656. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_71470);
  2657. r21fatal_error((T21*)(oBC12eh),b1);
  2658. }/*]*/
  2659. }
  2660. /*FI]*/
  2661. /*[IF*/
  2662. if(_do_warning){
  2663. r34warning((((T64*)_ccn))->_start_position/*4*/,((T0*)ms34_116415));
  2664. }
  2665. /*FI]*/
  2666. r64identify(((T64*)_ccn),r109to_string((T109*)(oBC34tmp_name)));
  2667. }
  2668. else{
  2669. r34fcp(C,((T0*)ms34_71470));
  2670. }
  2671. /*FI]*/
  2672. /*[IF*/
  2673. if(r39fast_has((T39*)(oBC34forbidden_class),(((T64*)_ccn))->_to_string/*0*/)){
  2674. r21add_position((((T64*)_ccn))->_start_position/*4*/);
  2675. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_44356);
  2676. r21fatal_error((T21*)(oBC12eh),b1);
  2677. }/*]*/
  2678. }
  2679. /*FI]*/
  2680. }
  2681. /*No:EIFFEL_PARSER.fz_01*/
  2682. /*No:EIFFEL_PARSER.fz_03*/
  2683. /*No:EIFFEL_PARSER.fz_iinaiv*/
  2684.  
  2685.  
  2686. T6 r34a_keyword(T34* C,T0* a1){
  2687. T6 R=0;
  2688. T2 _keyword_count=0;
  2689. T2 _i=0;
  2690. _keyword_count=(((T7*)a1))->_count/*4*/;
  2691. C->_start_line=(C)->_line/*16*/;
  2692. C->_start_column=(C)->_column/*12*/;
  2693. while (!(((_i)==(_keyword_count))||(!(r3same_as((C)->_cc/*24*/,/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) {
  2694. _i=(_i)+(1);
  2695. r34next_char(C);
  2696. }
  2697. /*[IF*/
  2698. if((_i)==(_keyword_count)){
  2699. {int z1=(C)->_cc/*24*/;
  2700.  
  2701. if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){
  2702. R=1;
  2703. C->_last_keyword=a1;
  2704. r34skip_comments(C);
  2705. }
  2706.  else 
  2707. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){
  2708. while (!((_i)==(0))) {
  2709. r34prev_char(C);
  2710. _i=(_i)-(1);
  2711. }
  2712. }
  2713.  else{R=1;
  2714. C->_last_keyword=a1;
  2715. }}
  2716. }
  2717. else{
  2718. while (!((_i)==(0))) {
  2719. r34prev_char(C);
  2720. _i=(_i)-(1);
  2721. }
  2722. }
  2723. /*FI]*/
  2724. return R;
  2725. }
  2726. /*No:EIFFEL_PARSER.fz_until*/
  2727. /*No:EIFFEL_PARSER.last_binary*/
  2728.  
  2729.  
  2730. T0* r34a_routine_body(T34* C){
  2731. T0* R=NULL;
  2732. /*[IF*/
  2733. if(r34a_keyword(C,((T0*)ms13_10664))){
  2734. r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
  2735. R=r198to_deferred_routine((T198*)(oBC34tmp_feature));
  2736. }
  2737.  else if(r34a_keyword(C,((T0*)ms13_11448))){
  2738. R=r34a_external(C);
  2739. }
  2740.  else if(r34a_keyword(C,((T0*)ms13_428))){
  2741. /*[IRF3.3set_routine_body*/((((T198*)((T198*)(oBC34tmp_feature))))->_routine_body)=(r34a_compound1(C));
  2742. /*]*/
  2743. R=r198to_procedure_or_function((T198*)(oBC34tmp_feature));
  2744. }
  2745.  else if(r34a_keyword(C,((T0*)ms13_1724a))){
  2746. C->_inside_once_function=1;
  2747. /*[IRF3.3set_routine_body*/((((T198*)((T198*)(oBC34tmp_feature))))->_routine_body)=(r34a_compound1(C));
  2748. /*]*/
  2749. R=r198to_once_routine((T198*)(oBC34tmp_feature));
  2750. }
  2751. else{
  2752. r34fcp(C,((T0*)ms34_34276));
  2753. }
  2754. /*FI]*/
  2755. return R;
  2756. }
  2757. /*No:EIFFEL_PARSER.last_expression*/
  2758. /*No:EIFFEL_PARSER.fz_59*/
  2759.  
  2760.  
  2761. T6 r34a_void(T34* C){
  2762. T6 R=0;
  2763. /*[IF*/
  2764. if(r109is_void()){
  2765. C->_last_expression=r109to_e_void((T109*)(oBC34tmp_name));
  2766. R=1;
  2767. }
  2768. /*FI]*/
  2769. return R;
  2770. }
  2771.  
  2772.  
  2773. T6 r34a_class_type(T34* C){
  2774. T6 R=0;
  2775. T0* _generic_list=NULL;
  2776. T0* _base_class_name=NULL;
  2777. T2 _state=0;
  2778. /*[IF*/
  2779. if(r34a_base_type(C)){
  2780. C->_last_class_type=(C)->_last_base_type/*69*/;
  2781. R=1;
  2782. }
  2783.  else if(r34a_base_class_name(C)){
  2784. R=1;
  2785. _base_class_name=(C)->_last_class_name/*89*/;
  2786. while (!((_state)>(2))) {
  2787. {int z1=_state;
  2788.  
  2789. if((0==z1)){
  2790. /*[IF*/
  2791. if(r34skip1(C,'\133')){
  2792. _state=1;
  2793. }
  2794. else{
  2795. {T273*n=malloc(sizeof(*n));
  2796. *n=M273;
  2797. /*[IRF3.3make*/((((T273*)(n)))->_base_class_name)=(_base_class_name);
  2798. /*]*/
  2799. C->_last_class_type=(T0*)n;
  2800. }
  2801. _state=3;
  2802. }
  2803. /*FI]*/
  2804. }
  2805.  else 
  2806. if((1==z1)){
  2807. /*[IF*/
  2808. if(r34a_type(C)){
  2809. /*[IF*/
  2810. if((_generic_list)==((void*)(NULL))){
  2811. _generic_list=se_ma261(1,
  2812. (C)->_last_type/*157*/);
  2813. }
  2814. else{
  2815. r261add_last(((T261*)_generic_list),(C)->_last_type/*157*/);
  2816. }
  2817. /*FI]*/
  2818. _state=2;
  2819. }
  2820.  else if(((C)->_cc/*24*/)==('\54')){
  2821. /*[IRF3.6wcp*/{T34* C1=C;
  2822. T0* b1=((T0*)ms34_26277);
  2823. r34warning(r34current_position(C1),b1);
  2824. }/*]*/
  2825. C->_ok=r34skip1(C,'\54');
  2826. }
  2827.  else if(((C)->_cc/*24*/)==('\135')){
  2828. _state=2;
  2829. }
  2830. else{
  2831. r34fcp(C,((T0*)ms34_25441));
  2832. _state=2;
  2833. }
  2834. /*FI]*/
  2835. }
  2836.  else{/*[IF*/
  2837. if(r34skip1(C,'\54')){
  2838. _state=1;
  2839. }
  2840.  else if(((C)->_cc/*24*/)==('\135')){
  2841. /*[IF*/
  2842. if((_generic_list)==((void*)(NULL))){
  2843. /*[IRF3.6wcp*/{T34* C1=C;
  2844. T0* b1=((T0*)ms34_54404);
  2845. r34warning(r34current_position(C1),b1);
  2846. }/*]*/
  2847. {T273*n=malloc(sizeof(*n));
  2848. *n=M273;
  2849. /*[IRF3.3make*/((((T273*)(n)))->_base_class_name)=(_base_class_name);
  2850. /*]*/
  2851. C->_last_class_type=(T0*)n;
  2852. }
  2853. }
  2854. else{
  2855. {T274*n=malloc(sizeof(*n));
  2856. *n=M274;
  2857. r274make(n,_base_class_name,_generic_list);
  2858. C->_last_class_type=(T0*)n;
  2859. }
  2860. }
  2861. /*FI]*/
  2862. C->_ok=r34skip1(C,'\135');
  2863. _state=3;
  2864. }
  2865.  else if(r34a_type(C)){
  2866. /*[IF*/
  2867. if((_generic_list)==((void*)(NULL))){
  2868. _generic_list=se_ma261(1,
  2869. (C)->_last_type/*157*/);
  2870. }
  2871. else{
  2872. r261add_last(((T261*)_generic_list),(C)->_last_type/*157*/);
  2873. }
  2874. /*FI]*/
  2875. r34warning(X54start_position((C)->_last_type/*157*/),((T0*)ms34_9410));
  2876. }
  2877. else{
  2878. r34fcp(C,((T0*)ms34_20315));
  2879. _state=3;
  2880. }
  2881. /*FI]*/
  2882. }}
  2883. }
  2884. }
  2885. /*FI]*/
  2886. return R;
  2887. }
  2888. /*No:EIFFEL_PARSER.in_ensure*/
  2889. /*No:EIFFEL_PARSER.fz_end*/
  2890. /*No:EIFFEL_PARSER.fz_external*/
  2891. /*No:EIFFEL_PARSER.inside_function*/
  2892. /*No:EIFFEL_PARSER.us_and*/
  2893.  
  2894.  
  2895. T0* r34a_assertion(T34* C){
  2896. T0* R=NULL;
  2897. T2 _state=0;
  2898. T0* _assertion=NULL;
  2899. T0* _expression=NULL;
  2900. T0* _tag=NULL;
  2901. while (!((_state)>(3))) {
  2902. {int z1=_state;
  2903.  
  2904. if((0==z1)){
  2905. /*[IF*/
  2906. if(((C)->_cc/*24*/)==('\73')){
  2907. /*[IRF3.6wcp*/{T34* C1=C;
  2908. T0* b1=((T0*)ms13_41475);
  2909. r34warning(r34current_position(C1),b1);
  2910. }/*]*/
  2911. C->_ok=r34skip1(C,'\73');
  2912. /*[IF*/
  2913. if(((C)->_last_comments/*25*/)!=((void*)(NULL))){
  2914. {T103*n=malloc(sizeof(*n));
  2915. *n=M103;
  2916. r103make(n,NULL,NULL,r34get_comments(C));
  2917. _assertion=(T0*)n;
  2918. }
  2919. /*[IF*/
  2920. if((R)==((void*)(NULL))){
  2921. R=se_ma106(1,
  2922. _assertion);
  2923. }
  2924. else{
  2925. r106add_last(((T106*)R),_assertion);
  2926. }
  2927. /*FI]*/
  2928. }
  2929. /*FI]*/
  2930. }
  2931.  else if(r34a_tag_mark(C)){
  2932. _tag=(C)->_last_tag_mark/*161*/;
  2933. _state=1;
  2934. }
  2935.  else if(r34a_expression(C)){
  2936. _expression=(C)->_last_expression/*97*/;
  2937. _state=2;
  2938. }
  2939. else{
  2940. _state=4;
  2941. }
  2942. /*FI]*/
  2943. }
  2944.  else 
  2945. if((1==z1)){
  2946. /*[IF*/
  2947. if(r34skip1(C,'\73')){
  2948. {T103*n=malloc(sizeof(*n));
  2949. *n=M103;
  2950. r103make(n,_tag,NULL,r34get_comments(C));
  2951. _assertion=(T0*)n;
  2952. }
  2953. /*[IF*/
  2954. if((R)==((void*)(NULL))){
  2955. R=se_ma106(1,
  2956. _assertion);
  2957. }
  2958. else{
  2959. r106add_last(((T106*)R),_assertion);
  2960. }
  2961. /*FI]*/
  2962. _state=0;
  2963. }
  2964.  else if(r34a_tag_mark(C)){
  2965. {T103*n=malloc(sizeof(*n));
  2966. *n=M103;
  2967. r103make(n,_tag,NULL,r34get_comments(C));
  2968. _assertion=(T0*)n;
  2969. }
  2970. /*[IF*/
  2971. if((R)==((void*)(NULL))){
  2972. R=se_ma106(1,
  2973. _assertion);
  2974. }
  2975. else{
  2976. r106add_last(((T106*)R),_assertion);
  2977. }
  2978. /*FI]*/
  2979. _tag=(C)->_last_tag_mark/*161*/;
  2980. }
  2981.  else if(r34a_expression(C)){
  2982. _expression=(C)->_last_expression/*97*/;
  2983. _state=3;
  2984. }
  2985. else{
  2986. {T103*n=malloc(sizeof(*n));
  2987. *n=M103;
  2988. r103make(n,_tag,NULL,r34get_comments(C));
  2989. _assertion=(T0*)n;
  2990. }
  2991. /*[IF*/
  2992. if((R)==((void*)(NULL))){
  2993. R=se_ma106(1,
  2994. _assertion);
  2995. }
  2996. else{
  2997. r106add_last(((T106*)R),_assertion);
  2998. }
  2999. /*FI]*/
  3000. _state=4;
  3001. }
  3002. /*FI]*/
  3003. }
  3004.  else 
  3005. if((2==z1)){
  3006. /*[IF*/
  3007. if(r34skip1(C,'\73')){
  3008. {T103*n=malloc(sizeof(*n));
  3009. *n=M103;
  3010. r103make(n,NULL,_expression,r34get_comments(C));
  3011. _assertion=(T0*)n;
  3012. }
  3013. /*[IF*/
  3014. if((R)==((void*)(NULL))){
  3015. R=se_ma106(1,
  3016. _assertion);
  3017. }
  3018. else{
  3019. r106add_last(((T106*)R),_assertion);
  3020. }
  3021. /*FI]*/
  3022. _state=0;
  3023. }
  3024.  else if(r34a_tag_mark(C)){
  3025. {T103*n=malloc(sizeof(*n));
  3026. *n=M103;
  3027. r103make(n,NULL,_expression,r34get_comments(C));
  3028. _assertion=(T0*)n;
  3029. }
  3030. /*[IF*/
  3031. if((R)==((void*)(NULL))){
  3032. R=se_ma106(1,
  3033. _assertion);
  3034. }
  3035. else{
  3036. r106add_last(((T106*)R),_assertion);
  3037. }
  3038. /*FI]*/
  3039. _tag=(C)->_last_tag_mark/*161*/;
  3040. _state=1;
  3041. }
  3042.  else if(r34a_expression(C)){
  3043. {T103*n=malloc(sizeof(*n));
  3044. *n=M103;
  3045. r103make(n,NULL,_expression,r34get_comments(C));
  3046. _assertion=(T0*)n;
  3047. }
  3048. /*[IF*/
  3049. if((R)==((void*)(NULL))){
  3050. R=se_ma106(1,
  3051. _assertion);
  3052. }
  3053. else{
  3054. r106add_last(((T106*)R),_assertion);
  3055. }
  3056. /*FI]*/
  3057. _expression=(C)->_last_expression/*97*/;
  3058. _state=2;
  3059. }
  3060. else{
  3061. {T103*n=malloc(sizeof(*n));
  3062. *n=M103;
  3063. r103make(n,NULL,_expression,r34get_comments(C));
  3064. _assertion=(T0*)n;
  3065. }
  3066. /*[IF*/
  3067. if((R)==((void*)(NULL))){
  3068. R=se_ma106(1,
  3069. _assertion);
  3070. }
  3071. else{
  3072. r106add_last(((T106*)R),_assertion);
  3073. }
  3074. /*FI]*/
  3075. _state=4;
  3076. }
  3077. /*FI]*/
  3078. }
  3079.  else{/*[IF*/
  3080. if(r34skip1(C,'\73')){
  3081. {T103*n=malloc(sizeof(*n));
  3082. *n=M103;
  3083. r103make(n,_tag,_expression,r34get_comments(C));
  3084. _assertion=(T0*)n;
  3085. }
  3086. /*[IF*/
  3087. if((R)==((void*)(NULL))){
  3088. R=se_ma106(1,
  3089. _assertion);
  3090. }
  3091. else{
  3092. r106add_last(((T106*)R),_assertion);
  3093. }
  3094. /*FI]*/
  3095. _state=0;
  3096. }
  3097.  else if(r34a_tag_mark(C)){
  3098. {T103*n=malloc(sizeof(*n));
  3099. *n=M103;
  3100. r103make(n,_tag,_expression,r34get_comments(C));
  3101. _assertion=(T0*)n;
  3102. }
  3103. /*[IF*/
  3104. if((R)==((void*)(NULL))){
  3105. R=se_ma106(1,
  3106. _assertion);
  3107. }
  3108. else{
  3109. r106add_last(((T106*)R),_assertion);
  3110. }
  3111. /*FI]*/
  3112. _tag=(C)->_last_tag_mark/*161*/;
  3113. _state=1;
  3114. }
  3115.  else if(r34a_expression(C)){
  3116. {T103*n=malloc(sizeof(*n));
  3117. *n=M103;
  3118. r103make(n,_tag,_expression,r34get_comments(C));
  3119. _assertion=(T0*)n;
  3120. }
  3121. /*[IF*/
  3122. if((R)==((void*)(NULL))){
  3123. R=se_ma106(1,
  3124. _assertion);
  3125. }
  3126. else{
  3127. r106add_last(((T106*)R),_assertion);
  3128. }
  3129. /*FI]*/
  3130. _expression=(C)->_last_expression/*97*/;
  3131. _state=2;
  3132. }
  3133. else{
  3134. {T103*n=malloc(sizeof(*n));
  3135. *n=M103;
  3136. r103make(n,_tag,_expression,r34get_comments(C));
  3137. _assertion=(T0*)n;
  3138. }
  3139. /*[IF*/
  3140. if((R)==((void*)(NULL))){
  3141. R=se_ma106(1,
  3142. _assertion);
  3143. }
  3144. else{
  3145. r106add_last(((T106*)R),_assertion);
  3146. }
  3147. /*FI]*/
  3148. _state=4;
  3149. }
  3150. /*FI]*/
  3151. }}
  3152. }
  3153. return R;
  3154. }
  3155. /*No:EIFFEL_PARSER.in_rescue*/
  3156. /*No:EIFFEL_PARSER.fz_old*/
  3157.  
  3158.  
  3159. T6 r34a_feature_name(T34* C){
  3160. T6 R=0;
  3161. /*[IF*/
  3162. if(r34a_prefix(C)){
  3163. C->_last_feature_name=(C)->_last_prefix/*125*/;
  3164. R=1;
  3165. }
  3166.  else if(r34a_infix(C)){
  3167. C->_last_feature_name=(C)->_last_infix/*121*/;
  3168. R=1;
  3169. }
  3170.  else if(r34a_identifier(C)){
  3171. C->_last_feature_name=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  3172. R=1;
  3173. }
  3174. /*FI]*/
  3175. return R;
  3176. }
  3177.  
  3178.  
  3179. T6 r34a_feature_declaration(T34* C){
  3180. T6 R=0;
  3181. r198initialize((T198*)(oBC34tmp_feature));
  3182. /*[IF*/
  3183. if(r34a_keyword(C,((T0*)ms13_7350))){
  3184. /*[IF*/
  3185. if(r34a_feature_name(C)){
  3186. R=1;
  3187. r34to_frozen_feature_name(C);
  3188. r198add_synonym((C)->_last_feature_name/*105*/);
  3189. }
  3190. else{
  3191. r34fcp(C,((T0*)ms34_33616));
  3192. }
  3193. /*FI]*/
  3194. }
  3195.  else if(r34a_feature_name(C)){
  3196. R=1;
  3197. r198add_synonym((C)->_last_feature_name/*105*/);
  3198. }
  3199. /*FI]*/
  3200. while (!(!(r34skip1(C,'\54')))) {
  3201. /*[IF*/
  3202. if(r34a_keyword(C,((T0*)ms13_7350))){
  3203. /*[IF*/
  3204. if(r34a_feature_name(C)){
  3205. r34to_frozen_feature_name(C);
  3206. r198add_synonym((C)->_last_feature_name/*105*/);
  3207. }
  3208. else{
  3209. r34fcp(C,((T0*)ms34_82695));
  3210. }
  3211. /*FI]*/
  3212. }
  3213.  else if(r34a_feature_name(C)){
  3214. r198add_synonym((C)->_last_feature_name/*105*/);
  3215. }
  3216. else{
  3217. /*[IRF3.6ecp*/{T34* C1=C;
  3218. T0* b1=((T0*)ms34_57900);
  3219. r34error(r34current_position(C1),b1);
  3220. }/*]*/
  3221. }
  3222. /*FI]*/
  3223. }
  3224. /*[IF*/
  3225. if(R){
  3226. r34a_formal_arg_list(C);
  3227. /*[IF*/
  3228. if(r34skip1(C,'\72')){
  3229. /*[IF*/
  3230. if(r34a_type(C)){
  3231. C->_inside_function=1;
  3232. /*[IRF3.3set_type*/((((T198*)((T198*)(oBC34tmp_feature))))->_type)=((C)->_last_type/*157*/);
  3233. /*]*/
  3234. }
  3235. else{
  3236. r34fcp(C,((T0*)ms34_25441));
  3237. }
  3238. /*FI]*/
  3239. }
  3240. else{
  3241. C->_inside_function=0;
  3242. }
  3243. /*FI]*/
  3244. /*[IF*/
  3245. if(r34a_keyword(C,((T0*)ms13_446))){
  3246. /*[IF*/
  3247. if(r34a_keyword(C,((T0*)ms13_7098))){
  3248. C->_last_feature_declaration=r198to_cst_att_unique((T198*)(oBC34tmp_feature));
  3249. }
  3250.  else if(r34a_boolean_constant(C)){
  3251. C->_last_feature_declaration=r198to_cst_att_boolean((T198*)(oBC34tmp_feature),(C)->_last_boolean_constant/*81*/);
  3252. }
  3253.  else if(r34a_character_constant(C)){
  3254. C->_last_feature_declaration=r198to_cst_att_character((T198*)(oBC34tmp_feature),(C)->_last_character_constant/*85*/);
  3255. }
  3256.  else if(r34a_manifest_string(C)){
  3257. C->_last_feature_declaration=r198to_cst_att_string((T198*)(oBC34tmp_feature),(C)->_last_manifest_string/*145*/);
  3258. }
  3259.  else if(r34a_bit_constant(C)){
  3260. C->_last_feature_declaration=r198to_cst_att_bit((T198*)(oBC34tmp_feature),(C)->_last_bit_constant/*77*/);
  3261. }
  3262.  else if(r34a_real_constant(C)){
  3263. C->_last_feature_declaration=r198to_cst_att_real((T198*)(oBC34tmp_feature),(C)->_last_real_constant/*153*/);
  3264. }
  3265.  else if(r34a_integer_constant(C)){
  3266. C->_last_feature_declaration=r198to_cst_att_integer((T198*)(oBC34tmp_feature),(C)->_last_integer_constant/*129*/);
  3267. }
  3268. else{
  3269. C->_last_feature_declaration=r34a_routine(C);
  3270. }
  3271. /*FI]*/
  3272. }
  3273. else{
  3274. C->_last_feature_declaration=r198to_writable_attribute((T198*)(oBC34tmp_feature));
  3275. }
  3276. /*FI]*/
  3277. C->_inside_function=0;
  3278. C->_inside_once_function=0;
  3279. C->_arguments=NULL;
  3280. }
  3281. /*FI]*/
  3282. return R;
  3283. }
  3284.  
  3285.  
  3286. void r34a_ascii_code(T34* C){
  3287. T2 _counter=0;
  3288. r34next_char(C);
  3289. _counter=0;
  3290. C->_last_ascii_code=0;
  3291. while (!(((_counter)>(3))||(((C)->_cc/*24*/)==('\57')))) {
  3292. {int z1=(C)->_cc/*24*/;
  3293.  
  3294. if(((48<=z1)&&(z1<=57))){
  3295. C->_last_ascii_code=(((C)->_last_ascii_code/*61*/)*(10))+(r3value((C)->_cc/*24*/));
  3296. }
  3297.  else{r34fcp(C,((T0*)ms34_75355));
  3298. }}
  3299. _counter=(_counter)+(1);
  3300. r34next_char(C);
  3301. }
  3302. /*[IF*/
  3303. if((_counter)==(0)){
  3304. r34fcp(C,((T0*)ms34_37500));
  3305. }
  3306.  else if((_counter)>(3)){
  3307. r34fcp(C,((T0*)ms34_98605));
  3308. }
  3309. else{
  3310. }
  3311. /*FI]*/
  3312. }
  3313. /*No:EIFFEL_PARSER.em1*/
  3314. /*No:EIFFEL_PARSER.em2*/
  3315. /*No:EIFFEL_PARSER.fz_ensure*/
  3316. /*No:EIFFEL_PARSER.last_index_value*/
  3317. /*No:EIFFEL_PARSER.em3*/
  3318. /*No:EIFFEL_PARSER.em4*/
  3319.  
  3320.  
  3321. T0* r34to_proc_call(T34* C,T0* a1,T0* a2,T0* a3){
  3322. T0* R=NULL;
  3323. /*[IF*/
  3324. if((a2)==((void*)(NULL))){
  3325. r34fcp(C,((T0*)ms34_198189));
  3326. }
  3327.  else if((a3)==((void*)(NULL))){
  3328. {T163*n=malloc(sizeof(*n));
  3329. *n=M163;
  3330. r163make(n,a1,a2);
  3331. R=(T0*)n;
  3332. }
  3333. }
  3334.  else if((X149count(a3))==(1)){
  3335. {T164*n=malloc(sizeof(*n));
  3336. *n=M164;
  3337. r164make(n,a1,a2,a3);
  3338. R=(T0*)n;
  3339. }
  3340. }
  3341. else{
  3342. {T165*n=malloc(sizeof(*n));
  3343. *n=M165;
  3344. r165make(n,a1,a2,a3);
  3345. R=(T0*)n;
  3346. }
  3347. }
  3348. /*FI]*/
  3349. return R;
  3350. }
  3351. /*No:EIFFEL_PARSER.em5*/
  3352. /*No:EIFFEL_PARSER.last_type*/
  3353. /*No:EIFFEL_PARSER.em6*/
  3354. /*No:EIFFEL_PARSER.em7*/
  3355.  
  3356.  
  3357. T6 r34a_index_value(T34* C){
  3358. T6 R=0;
  3359. /*[IF*/
  3360. if(r34a_identifier(C)){
  3361. C->_last_index_value=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  3362. R=1;
  3363. }
  3364.  else if(r34a_manifest_constant(C)){
  3365. C->_last_index_value=(C)->_last_manifest_constant/*141*/;
  3366. R=1;
  3367. }
  3368. /*FI]*/
  3369. return R;
  3370. }
  3371.  
  3372.  
  3373. T6 r34a_expression(T34* C){
  3374. T6 R=0;
  3375. T0* _list=NULL;
  3376. T0* _sp=NULL;
  3377. /*[IF*/
  3378. if(r34skip2(C,'\74','\74')){
  3379. R=1;
  3380. {T70*n=malloc(sizeof(*n));
  3381. *n=M70;
  3382. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3383. _sp=(T0*)n;
  3384. }
  3385. while (!(!(r34a_expression(C)))) {
  3386. /*[IF*/
  3387. if((_list)==((void*)(NULL))){
  3388. _list=se_ma111(1,
  3389. (C)->_last_expression/*97*/);
  3390. }
  3391. else{
  3392. X111add_last(_list,(C)->_last_expression/*97*/);
  3393. }
  3394. /*FI]*/
  3395. C->_ok=r34skip1(C,'\54');
  3396. }
  3397. /*[IF*/
  3398. if(!(r34skip2(C,'\76','\76'))){
  3399. r34fcp(C,((T0*)ms34_57753));
  3400. }
  3401. /*FI]*/
  3402. {T110*n=malloc(sizeof(*n));
  3403. *n=M110;
  3404. r110make(n,_sp,_list);
  3405. C->_last_expression=(T0*)n;
  3406. }
  3407. }
  3408. else{
  3409. R=r34a_e0(C);
  3410. }
  3411. /*FI]*/
  3412. return R;
  3413. }
  3414. /*No:EIFFEL_PARSER.em8*/
  3415. /*No:EIFFEL_PARSER.em9*/
  3416.  
  3417.  
  3418. T6 r34a_feature_name_list(T34* C){
  3419. T6 R=0;
  3420. T2 _state=0;
  3421. C->_last_feature_name_list=NULL;
  3422. while (!((_state)>=(3))) {
  3423. {int z1=_state;
  3424.  
  3425. if((0==z1)){
  3426. /*[IF*/
  3427. if(r34a_feature_name(C)){
  3428. {T85*n=malloc(sizeof(*n));
  3429. *n=M85;
  3430. /*[IRF3.3make_1*/((((T85*)(n)))->_first)=((C)->_last_feature_name/*105*/);
  3431. /*]*/
  3432. C->_last_feature_name_list=(T0*)n;
  3433. }
  3434. R=1;
  3435. _state=1;
  3436. }
  3437.  else if(((C)->_cc/*24*/)==('\54')){
  3438. /*[IRF3.6wcp*/{T34* C1=C;
  3439. T0* b1=((T0*)ms34_48195);
  3440. r34warning(r34current_position(C1),b1);
  3441. }/*]*/
  3442. C->_ok=r34skip1(C,'\54');
  3443. }
  3444. else{
  3445. _state=3;
  3446. }
  3447. /*FI]*/
  3448. }
  3449.  else 
  3450. if((1==z1)){
  3451. /*[IF*/
  3452. if(((C)->_cc/*24*/)==('\54')){
  3453. C->_ok=r34skip1(C,'\54');
  3454. _state=2;
  3455. }
  3456.  else if(r34a_feature_name(C)){
  3457. r34warning(X83start_position((C)->_last_feature_name/*105*/),((T0*)ms34_9410));
  3458. r85add_last((T85*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
  3459. }
  3460. else{
  3461. _state=3;
  3462. }
  3463. /*FI]*/
  3464. }
  3465.  else {/*[IF*/
  3466. if(r34a_feature_name(C)){
  3467. r85add_last((T85*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
  3468. _state=1;
  3469. }
  3470.  else if(((C)->_cc/*24*/)==('\54')){
  3471. /*[IRF3.6wcp*/{T34* C1=C;
  3472. T0* b1=((T0*)ms34_26277);
  3473. r34warning(r34current_position(C1),b1);
  3474. }/*]*/
  3475. C->_ok=r34skip1(C,'\54');
  3476. }
  3477. else{
  3478. /*[IRF3.6ecp*/{T34* C1=C;
  3479. T0* b1=((T0*)ms34_33616);
  3480. r34error(r34current_position(C1),b1);
  3481. }/*]*/
  3482. _state=3;
  3483. }
  3484. /*FI]*/
  3485. }}
  3486. }
  3487. return R;
  3488. }
  3489.  
  3490.  
  3491. T6 r34a_type(T34* C){
  3492. T6 R=0;
  3493. T0* _argument_name2=NULL;
  3494. T0* _sp=NULL;
  3495. R=1;
  3496. /*[IF*/
  3497. if(r34a_keyword(C,((T0*)ms13_1724))){
  3498. {T70*n=malloc(sizeof(*n));
  3499. *n=M70;
  3500. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3501. _sp=(T0*)n;
  3502. }
  3503. /*[IF*/
  3504. if(r34a_infix(C)){
  3505. {T255*n=malloc(sizeof(*n));
  3506. *n=M255;
  3507. r255make(n,_sp,(C)->_last_infix/*121*/);
  3508. C->_last_type=(T0*)n;
  3509. }
  3510. }
  3511.  else if(r34a_prefix(C)){
  3512. {T255*n=malloc(sizeof(*n));
  3513. *n=M255;
  3514. r255make(n,_sp,(C)->_last_prefix/*125*/);
  3515. C->_last_type=(T0*)n;
  3516. }
  3517. }
  3518.  else if(r34a_identifier(C)){
  3519. /*[IF*/
  3520. if(r34a_current(C)){
  3521. {T257*n=malloc(sizeof(*n));
  3522. *n=M257;
  3523. /*[IRF3.3make*/((((T257*)(n)))->_start_position)=(_sp);
  3524. /*]*/
  3525. C->_last_type=(T0*)n;
  3526. }
  3527. }
  3528.  else if(r34a_argument(C)){
  3529. _argument_name2=(C)->_last_expression/*97*/;
  3530. if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) {
  3531. case 188: 
  3532. break;
  3533. default:
  3534. _argument_name2=NULL;
  3535. };{T258*n=malloc(sizeof(*n));
  3536. *n=M258;
  3537. r258make(n,_sp,_argument_name2);
  3538. C->_last_type=(T0*)n;
  3539. }
  3540. }
  3541. else{
  3542. {T255*n=malloc(sizeof(*n));
  3543. *n=M255;
  3544. r255make(n,_sp,r109to_simple_feature_name((T109*)(oBC34tmp_name)));
  3545. C->_last_type=(T0*)n;
  3546. }
  3547. }
  3548. /*FI]*/
  3549. }
  3550. else{
  3551. r34fcp(C,((T0*)ms34_350632));
  3552. }
  3553. /*FI]*/
  3554. }
  3555.  else if(r34a_keyword(C,((T0*)ms13_10840))){
  3556. {T70*n=malloc(sizeof(*n));
  3557. *n=M70;
  3558. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3559. _sp=(T0*)n;
  3560. }
  3561. /*[IF*/
  3562. if(r34a_class_type(C)){
  3563. {T275*n=malloc(sizeof(*n));
  3564. *n=M275;
  3565. r275make(n,_sp,(C)->_last_class_type/*93*/);
  3566. C->_last_type=(T0*)n;
  3567. }
  3568. }
  3569. else{
  3570. r34fcp(C,((T0*)ms34_92480));
  3571. }
  3572. /*FI]*/
  3573. }
  3574.  else if(r34a_keyword(C,((T0*)ms14_687))){
  3575. {T70*n=malloc(sizeof(*n));
  3576. *n=M70;
  3577. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3578. _sp=(T0*)n;
  3579. }
  3580. /*[IF*/
  3581. if(r34a_integer(C)){
  3582. {T276*n=malloc(sizeof(*n));
  3583. *n=M276;
  3584. r276make(n,_sp,(C)->_last_integer_constant/*129*/);
  3585. C->_last_type=(T0*)n;
  3586. }
  3587. }
  3588.  else if(r34a_identifier(C)){
  3589. {T277*n=malloc(sizeof(*n));
  3590. *n=M277;
  3591. r277make(n,_sp,r109to_simple_feature_name((T109*)(oBC34tmp_name)));
  3592. C->_last_type=(T0*)n;
  3593. }
  3594. }
  3595. else{
  3596. r34fcp(C,((T0*)ms34_116370));
  3597. }
  3598. /*FI]*/
  3599. }
  3600.  else if(r34a_type_formal_generic(C)){
  3601. C->_last_type=(C)->_last_type_formal_generic/*117*/;
  3602. }
  3603.  else if(r34a_class_type(C)){
  3604. C->_last_type=(C)->_last_class_type/*93*/;
  3605. }
  3606. else{
  3607. R=0;
  3608. }
  3609. /*FI]*/
  3610. return R;
  3611. }
  3612. /*No:EIFFEL_PARSER.fz_rename*/
  3613. /*No:EIFFEL_PARSER.fz_rescue*/
  3614.  
  3615.  
  3616. T0* r34a_routine(T34* C){
  3617. T0* R=NULL;
  3618. T0* _ea=NULL;
  3619. T0* _al=NULL;
  3620. T0* _hc=NULL;
  3621. T0* _sp=NULL;
  3622. /*[IF*/
  3623. if(r34a_keyword(C,((T0*)ms13_10928))){
  3624. /*[IF*/
  3625. if(r34a_manifest_string(C)){
  3626. /*[IRF3.3set_obsolete_mark*/((((T198*)((T198*)(oBC34tmp_feature))))->_obsolete_mark)=((C)->_last_manifest_string/*145*/);
  3627. /*]*/
  3628. }
  3629. else{
  3630. r34fcp(C,((T0*)ms34_71060));
  3631. }
  3632. /*FI]*/
  3633. }
  3634. /*FI]*/
  3635. /*[IRF3.3set_header_comment*/((((T198*)((T198*)(oBC34tmp_feature))))->_header_comment)=(r34get_comments(C));
  3636. /*]*/
  3637. /*[IF*/
  3638. if(r34a_keyword(C,((T0*)ms13_8904))){
  3639. {T70*n=malloc(sizeof(*n));
  3640. *n=M70;
  3641. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3642. _sp=(T0*)n;
  3643. }
  3644. /*[IF*/
  3645. if(r34a_keyword(C,((T0*)ms13_1740))){
  3646. _hc=r34get_comments(C);
  3647. r198set_require_else((T198*)(oBC34tmp_feature),_sp,_hc,r34a_assertion(C));
  3648. }
  3649. else{
  3650. _hc=r34get_comments(C);
  3651. r198set_require((T198*)(oBC34tmp_feature),_sp,_hc,r34a_assertion(C));
  3652. }
  3653. /*FI]*/
  3654. }
  3655. /*FI]*/
  3656. /*[IF*/
  3657. if(r34a_keyword(C,((T0*)ms13_2690a))){
  3658. r34a_local_var_list(C);
  3659. }
  3660. /*FI]*/
  3661. R=r34a_routine_body(C);
  3662. /*[IF*/
  3663. if(r34a_keyword(C,((T0*)ms13_7068))){
  3664. {T70*n=malloc(sizeof(*n));
  3665. *n=M70;
  3666. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3667. _sp=(T0*)n;
  3668. }
  3669. C->_in_ensure=1;
  3670. /*[IF*/
  3671. if(r34a_keyword(C,((T0*)ms13_1764))){
  3672. _hc=r34get_comments(C);
  3673. _al=r34a_assertion(C);
  3674. /*[IF*/
  3675. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  3676. {T215*n=malloc(sizeof(*n));
  3677. *n=M215;
  3678. r215make(n,_sp,_hc,_al);
  3679. _ea=(T0*)n;
  3680. }
  3681. /*[IRF3.3set_ensure_then*/((((T215*)(((T215*)_ea))))->_is_ensure_then)=(1);
  3682. /*]*/
  3683. }
  3684. /*FI]*/
  3685. X214set_ensure_assertion(R,_ea);
  3686. }
  3687. else{
  3688. _hc=r34get_comments(C);
  3689. _al=r34a_assertion(C);
  3690. /*[IF*/
  3691. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  3692. {T215*n=malloc(sizeof(*n));
  3693. *n=M215;
  3694. r215make(n,_sp,_hc,_al);
  3695. _ea=(T0*)n;
  3696. }
  3697. }
  3698. /*FI]*/
  3699. X214set_ensure_assertion(R,_ea);
  3700. }
  3701. /*FI]*/
  3702. C->_in_ensure=0;
  3703. }
  3704. /*FI]*/
  3705. /*[IF*/
  3706. if(r34a_keyword(C,((T0*)ms13_7002))){
  3707. C->_in_rescue=1;
  3708. X214set_rescue_compound(R,r34a_compound2(C,((T0*)ms13_7002),((T0*)ms13_951)));
  3709. C->_in_rescue=0;
  3710. }
  3711. else{
  3712. /*[IF*/
  3713. if(!(r34a_keyword(C,((T0*)ms13_951)))){
  3714. /*[IRF3.6wcp*/{T34* C1=C;
  3715. T0* b1=((T0*)ms34_72240);
  3716. r34warning(r34current_position(C1),b1);
  3717. }/*]*/
  3718. }
  3719. /*FI]*/
  3720. }
  3721. /*FI]*/
  3722. C->_local_vars=NULL;
  3723. return R;
  3724. }
  3725.  
  3726.  
  3727. T6 r34a_creation(T34* C){
  3728. T6 R=0;
  3729. T2 _state=0;
  3730. T0* _call=NULL;
  3731. T0* _proc_name=NULL;
  3732. T0* _writable=NULL;
  3733. T0* _type=NULL;
  3734. T0* _sp=NULL;
  3735. while (!((_state)>(6))) {
  3736. {int z1=_state;
  3737.  
  3738. if((0==z1)){
  3739. /*[IF*/
  3740. if(r34skip1(C,'\41')){
  3741. {T70*n=malloc(sizeof(*n));
  3742. *n=M70;
  3743. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3744. _sp=(T0*)n;
  3745. }
  3746. _state=1;
  3747. }
  3748. else{
  3749. _state=7;
  3750. }
  3751. /*FI]*/
  3752. }
  3753.  else 
  3754. if((1==z1)){
  3755. /*[IF*/
  3756. if(r34a_type(C)){
  3757. _type=(C)->_last_type/*157*/;
  3758. /*[IF*/
  3759. if(X54is_anchored(_type)){
  3760. r34warning(X54start_position(_type),((T0*)ms34_136367));
  3761. }
  3762. /*FI]*/
  3763. _state=2;
  3764. }
  3765.  else if(r34skip1(C,'\41')){
  3766. _state=3;
  3767. }
  3768. else{
  3769. r34fcp(C,((T0*)ms34_74340));
  3770. _state=8;
  3771. }
  3772. /*FI]*/
  3773. }
  3774.  else 
  3775. if((2==z1)){
  3776. /*[IF*/
  3777. if(r34skip1(C,'\41')){
  3778. _state=3;
  3779. }
  3780. else{
  3781. _state=8;
  3782. r34fcp(C,((T0*)ms34_47516));
  3783. }
  3784. /*FI]*/
  3785. }
  3786.  else 
  3787. if((3==z1)){
  3788. /*[IF*/
  3789. if(r34a_identifier(C)){
  3790. /*[IF*/
  3791. if(r34a_current(C)){
  3792. _state=8;
  3793. r34error(X56start_position((C)->_last_expression/*97*/),((T0*)ms34_74830));
  3794. }
  3795.  else if(r34a_argument(C)){
  3796. _state=8;
  3797. r34error(X56start_position((C)->_last_expression/*97*/),((T0*)ms34_112905));
  3798. }
  3799.  else if((r34a_result(C))||(r34a_local_variable(C))){
  3800. _writable=(C)->_last_expression/*97*/;
  3801. _state=4;
  3802. }
  3803. else{
  3804. _writable=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  3805. _state=4;
  3806. }
  3807. /*FI]*/
  3808. }
  3809. else{
  3810. _state=8;
  3811. r34fcp(C,((T0*)ms34_63591));
  3812. }
  3813. /*FI]*/
  3814. }
  3815.  else 
  3816. if((4==z1)){
  3817. /*[IF*/
  3818. if(r34skip1unless2(C,'\56','\56')){
  3819. _state=5;
  3820. }
  3821. else{
  3822. _state=7;
  3823. }
  3824. /*FI]*/
  3825. }
  3826.  else 
  3827. if((5==z1)){
  3828. /*[IF*/
  3829. if(r34a_identifier(C)){
  3830. _proc_name=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  3831. _state=6;
  3832. }
  3833. else{
  3834. _state=8;
  3835. r34fcp(C,((T0*)ms34_85917));
  3836. }
  3837. /*FI]*/
  3838. }
  3839.  else{/*[IF*/
  3840. if(((C)->_cc/*24*/)==('\50')){
  3841. _call=r34to_proc_call(C,_writable,_proc_name,r34a_actuals(C));
  3842. }
  3843. else{
  3844. {T163*n=malloc(sizeof(*n));
  3845. *n=M163;
  3846. r163make(n,_writable,_proc_name);
  3847. _call=(T0*)n;
  3848. }
  3849. }
  3850. /*FI]*/
  3851. _state=7;
  3852. }}
  3853. }
  3854. /*[IF*/
  3855. if(((_state)==(7))&&((_sp)!=((void*)(NULL)))){
  3856. R=1;
  3857. /*[IF*/
  3858. if(((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))){
  3859. {T247*n=malloc(sizeof(*n));
  3860. *n=M247;
  3861. r247make(n,_sp,_writable);
  3862. C->_last_instruction=(T0*)n;
  3863. }
  3864. }
  3865.  else if(((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))){
  3866. {T250*n=malloc(sizeof(*n));
  3867. *n=M250;
  3868. r250make(n,_sp,_type,_writable);
  3869. C->_last_instruction=(T0*)n;
  3870. }
  3871. }
  3872.  else if(((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))){
  3873. {T252*n=malloc(sizeof(*n));
  3874. *n=M252;
  3875. r252make(n,_sp,_writable,_call);
  3876. C->_last_instruction=(T0*)n;
  3877. }
  3878. }
  3879. else{
  3880. {T254*n=malloc(sizeof(*n));
  3881. *n=M254;
  3882. r254make(n,_sp,_type,_writable,_call);
  3883. C->_last_instruction=(T0*)n;
  3884. }
  3885. }
  3886. /*FI]*/
  3887. }
  3888. /*FI]*/
  3889. return R;
  3890. }
  3891.  
  3892.  
  3893. T6 r34a_real(T34* C){
  3894. T6 R=0;
  3895. T2 _c=0;
  3896. T2 _l=0;
  3897. T2 _state=0;
  3898. /*[IF*/
  3899. if((r3is_digit((C)->_cc/*24*/))||(((C)->_cc/*24*/)==('\56'))){
  3900. _l=(C)->_line/*16*/;
  3901. _c=(C)->_column/*12*/;
  3902. /*[IRF3.3clear*/((((T7*)((T7*)(oBC34tmp_string))))->_count)=(0);
  3903. /*]*/
  3904. /*[IF*/
  3905. if(((C)->_cc/*24*/)==('\56')){
  3906. r7append((T7*)(oBC34tmp_string),((T0*)ms13_194));
  3907. _state=5;
  3908. }
  3909. else{
  3910. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3911. }
  3912. /*FI]*/
  3913. while (!((_state)>(11))) {
  3914. r34next_char(C);
  3915. {int z1=_state;
  3916.  
  3917. if((0==z1)){
  3918. {int z2=(C)->_cc/*24*/;
  3919.  
  3920. if(((48<=z2)&&(z2<=57))){
  3921. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3922. }
  3923.  else 
  3924. if((46==z2)){
  3925. r7extend((T7*)(oBC34tmp_string),'\56');
  3926. _state=4;
  3927. }
  3928.  else{_state=13;
  3929. }}
  3930. }
  3931.  else 
  3932. if((1==z1)){
  3933. {int z2=(C)->_cc/*24*/;
  3934.  
  3935. if(((48<=z2)&&(z2<=57))){
  3936. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3937. _state=2;
  3938. }
  3939.  else{r34fcp(C,((T0*)ms34_98851));
  3940. }}
  3941. }
  3942.  else 
  3943. if((2==z1)){
  3944. {int z2=(C)->_cc/*24*/;
  3945.  
  3946. if(((48<=z2)&&(z2<=57))){
  3947. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3948. _state=3;
  3949. }
  3950.  else{r34fcp(C,((T0*)ms34_98851));
  3951. }}
  3952. }
  3953.  else 
  3954. if((3==z1)){
  3955. {int z2=(C)->_cc/*24*/;
  3956.  
  3957. if(((48<=z2)&&(z2<=57))){
  3958. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3959. _state=0;
  3960. }
  3961.  else{r34fcp(C,((T0*)ms34_98851));
  3962. }}
  3963. }
  3964.  else 
  3965. if((4==z1)){
  3966. {int z2=(C)->_cc/*24*/;
  3967.  
  3968. if(((48<=z2)&&(z2<=57))){
  3969. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3970. _state=6;
  3971. }
  3972.  else 
  3973. if((69==z2)||(101==z2)){
  3974. r7extend((T7*)(oBC34tmp_string),'E');
  3975. _state=10;
  3976. }
  3977.  else{_state=12;
  3978. }}
  3979. }
  3980.  else 
  3981. if((5==z1)){
  3982. {int z2=(C)->_cc/*24*/;
  3983.  
  3984. if(((48<=z2)&&(z2<=57))){
  3985. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3986. _state=6;
  3987. }
  3988.  else{_state=13;
  3989. }}
  3990. }
  3991.  else 
  3992. if((6==z1)){
  3993. {int z2=(C)->_cc/*24*/;
  3994.  
  3995. if(((48<=z2)&&(z2<=57))){
  3996. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  3997. }
  3998.  else 
  3999. if((69==z2)||(101==z2)){
  4000. r7extend((T7*)(oBC34tmp_string),'E');
  4001. _state=10;
  4002. }
  4003.  else 
  4004. if((95==z2)){
  4005. _state=7;
  4006. }
  4007.  else{_state=12;
  4008. }}
  4009. }
  4010.  else 
  4011. if((7==z1)){
  4012. {int z2=(C)->_cc/*24*/;
  4013.  
  4014. if(((48<=z2)&&(z2<=57))){
  4015. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4016. _state=8;
  4017. }
  4018.  else{r34fcp(C,((T0*)ms34_146421));
  4019. }}
  4020. }
  4021.  else 
  4022. if((8==z1)){
  4023. {int z2=(C)->_cc/*24*/;
  4024.  
  4025. if(((48<=z2)&&(z2<=57))){
  4026. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4027. _state=9;
  4028. }
  4029.  else{r34fcp(C,((T0*)ms34_146421));
  4030. }}
  4031. }
  4032.  else 
  4033. if((9==z1)){
  4034. {int z2=(C)->_cc/*24*/;
  4035.  
  4036. if(((48<=z2)&&(z2<=57))){
  4037. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4038. _state=6;
  4039. }
  4040.  else{r34fcp(C,((T0*)ms34_146421));
  4041. }}
  4042. }
  4043.  else 
  4044. if((10==z1)){
  4045. {int z2=(C)->_cc/*24*/;
  4046.  
  4047. if((43==z2)){
  4048. _state=11;
  4049. }
  4050.  else 
  4051. if((45==z2)){
  4052. r7extend((T7*)(oBC34tmp_string),'\55');
  4053. _state=11;
  4054. }
  4055.  else 
  4056. if(((48<=z2)&&(z2<=57))){
  4057. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4058. _state=11;
  4059. }
  4060.  else{r34fcp(C,((T0*)ms34_71434));
  4061. _state=13;
  4062. }}
  4063. }
  4064.  else{{int z2=(C)->_cc/*24*/;
  4065.  
  4066. if(((48<=z2)&&(z2<=57))){
  4067. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4068. }
  4069.  else{_state=12;
  4070. }}
  4071. }}
  4072. }
  4073. /*[IF*/
  4074. if((_state)==(12)){
  4075. {T173*n=malloc(sizeof(*n));
  4076. *n=M173;
  4077. r173make(n,r34pos(_l,_c),r7twin((T7*)(oBC34tmp_string)));
  4078. C->_last_real_constant=(T0*)n;
  4079. }
  4080. R=1;
  4081. r34skip_comments(C);
  4082. }
  4083. else{
  4084. r34go_back_at(C,_l,_c);
  4085. }
  4086. /*FI]*/
  4087. }
  4088. /*FI]*/
  4089. return R;
  4090. }
  4091. /*No:EIFFEL_PARSER.fz_elseif*/
  4092.  
  4093.  
  4094. void r34a_assignment_aux(T34* C,T6 a1){
  4095. T0* _rhs=NULL;
  4096. T0* _writable=NULL;
  4097. /*[IF*/
  4098. if(r34a_current(C)){
  4099. r21add_position(X56start_position((C)->_last_expression/*97*/));
  4100. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_43368);
  4101. r21fatal_error((T21*)(oBC12eh),b1);
  4102. }/*]*/
  4103. }
  4104.  else if(r34a_void(C)){
  4105. r21add_position(r109start_position((T109*)(oBC34tmp_name)));
  4106. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_35190);
  4107. r21fatal_error((T21*)(oBC12eh),b1);
  4108. }/*]*/
  4109. }
  4110.  else if(r34a_argument(C)){
  4111. r21add_position(X56start_position((C)->_last_expression/*97*/));
  4112. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_69224);
  4113. r21fatal_error((T21*)(oBC12eh),b1);
  4114. }/*]*/
  4115. }
  4116. else{
  4117. /*[IF*/
  4118. if(r109is_result()){
  4119. _writable=r34last_result(C);
  4120. }
  4121.  else if(r34a_local_variable(C)){
  4122. _writable=(C)->_last_expression/*97*/;
  4123. }
  4124. else{
  4125. _writable=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  4126. }
  4127. /*FI]*/
  4128. /*[IF*/
  4129. if(r34a_expression(C)){
  4130. _rhs=(C)->_last_expression/*97*/;
  4131. /*[IF*/
  4132. if(a1){
  4133. {T282*n=malloc(sizeof(*n));
  4134. *n=M282;
  4135. r282make(n,_writable,_rhs);
  4136. C->_last_instruction=(T0*)n;
  4137. }
  4138. }
  4139. else{
  4140. {T283*n=malloc(sizeof(*n));
  4141. *n=M283;
  4142. r283make(n,_writable,_rhs);
  4143. C->_last_instruction=(T0*)n;
  4144. }
  4145. }
  4146. /*FI]*/
  4147. }
  4148. else{
  4149. r34fcp(C,((T0*)ms34_146421a));
  4150. }
  4151. /*FI]*/
  4152. }
  4153. /*FI]*/
  4154. }
  4155. /*No:EIFFEL_PARSER.us_double*/
  4156.  
  4157.  
  4158. T0* r34a_external(T34* C){
  4159. T0* R=NULL;
  4160. T0* _l=NULL;
  4161. /*[IF*/
  4162. if(((C)->_cc/*24*/)!=('\42')){
  4163. /*[IRF3.6wcp*/{T34* C1=C;
  4164. T0* b1=((T0*)ms34_14027a);
  4165. r34warning(r34current_position(C1),b1);
  4166. }/*]*/
  4167. }
  4168. else{
  4169. C->_ok=r34skip1(C,'\42');
  4170. }
  4171. /*FI]*/
  4172. /*[IF*/
  4173. if(r34a_keyword(C,((T0*)ms13_18788))){
  4174. {T292*n=malloc(sizeof(*n));
  4175. *n=M292;
  4176. _l=(T0*)n;
  4177. }
  4178. }
  4179.  else if(r34a_keyword(C,((T0*)ms13_25909))){
  4180. {T293*n=malloc(sizeof(*n));
  4181. *n=M293;
  4182. _l=(T0*)n;
  4183. }
  4184. }
  4185.  else if(r34a_keyword(C,((T0*)ms13_50768))){
  4186. {T295*n=malloc(sizeof(*n));
  4187. *n=M295;
  4188. _l=(T0*)n;
  4189. }
  4190. }
  4191.  else if(r34a_keyword(C,((T0*)ms13_37456))){
  4192. {T296*n=malloc(sizeof(*n));
  4193. *n=M296;
  4194. _l=(T0*)n;
  4195. }
  4196. }
  4197.  else if(r34a_keyword(C,((T0*)ms13_66440))){
  4198. {T297*n=malloc(sizeof(*n));
  4199. *n=M297;
  4200. _l=(T0*)n;
  4201. }
  4202. }
  4203.  else if(r34a_keyword(C,((T0*)ms34_675))){
  4204. {T292*n=malloc(sizeof(*n));
  4205. *n=M292;
  4206. _l=(T0*)n;
  4207. }
  4208. r34wcpefnc(C,((T0*)ms34_675a),((T0*)ms13_18788));
  4209. }
  4210.  else if(r34a_keyword(C,((T0*)ms34_681))){
  4211. {T293*n=malloc(sizeof(*n));
  4212. *n=M293;
  4213. _l=(T0*)n;
  4214. }
  4215. r34wcpefnc(C,((T0*)ms34_681a),((T0*)ms13_25909));
  4216. }
  4217.  else if(r34a_keyword(C,((T0*)ms34_1216))){
  4218. {T295*n=malloc(sizeof(*n));
  4219. *n=M295;
  4220. _l=(T0*)n;
  4221. }
  4222. r34wcpefnc(C,((T0*)ms34_1216a),((T0*)ms13_50768));
  4223. }
  4224.  else if(r34a_keyword(C,((T0*)ms34_68))){
  4225. {T296*n=malloc(sizeof(*n));
  4226. *n=M296;
  4227. _l=(T0*)n;
  4228. }
  4229. }
  4230.  else if(r34a_keyword(C,((T0*)ms34_286))){
  4231. {T297*n=malloc(sizeof(*n));
  4232. *n=M297;
  4233. _l=(T0*)n;
  4234. }
  4235. r34wcpefnc(C,((T0*)ms34_286a),((T0*)ms13_66440));
  4236. }
  4237.  else if(r34a_keyword(C,((T0*)ms13_32576))){
  4238. {T298*n=malloc(sizeof(*n));
  4239. *n=M298;
  4240. _l=(T0*)n;
  4241. }
  4242. }
  4243.  else if(r34a_keyword(C,((T0*)ms13_38896))){
  4244. {T300*n=malloc(sizeof(*n));
  4245. *n=M300;
  4246. _l=(T0*)n;
  4247. }
  4248. }
  4249. else{
  4250. r34fcp(C,((T0*)ms34_1422390));
  4251. }
  4252. /*FI]*/
  4253. /*[IF*/
  4254. if(((C)->_cc/*24*/)!=('\42')){
  4255. /*[IRF3.6wcp*/{T34* C1=C;
  4256. T0* b1=((T0*)ms34_14027a);
  4257. r34warning(r34current_position(C1),b1);
  4258. }/*]*/
  4259. }
  4260. else{
  4261. C->_ok=r34skip1(C,'\42');
  4262. }
  4263. /*FI]*/
  4264. R=r198to_external_routine((T198*)(oBC34tmp_feature),_l,r34a_alias(C));
  4265. return R;
  4266. }
  4267. /*No:EIFFEL_PARSER.fz_creation*/
  4268.  
  4269.  
  4270. T6 r34a_debug(T34* C){
  4271. T6 R=0;
  4272. T0* _e_debug=NULL;
  4273. T0* _list=NULL;
  4274. T0* _sp=NULL;
  4275. /*[IF*/
  4276. if(r34a_keyword(C,((T0*)ms13_2670))){
  4277. {T70*n=malloc(sizeof(*n));
  4278. *n=M70;
  4279. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4280. _sp=(T0*)n;
  4281. }
  4282. /*[IF*/
  4283. if(r34skip1(C,'\50')){
  4284. while (!(!(r34a_manifest_string(C)))) {
  4285. /*[IF*/
  4286. if((_list)==((void*)(NULL))){
  4287. _list=se_ma221(1,
  4288. (C)->_last_manifest_string/*145*/);
  4289. }
  4290. else{
  4291. r221add_last(((T221*)_list),(C)->_last_manifest_string/*145*/);
  4292. }
  4293. /*FI]*/
  4294. C->_ok=r34skip1(C,'\54');
  4295. }
  4296. /*[IF*/
  4297. if((_list)==((void*)(NULL))){
  4298. /*[IRF3.6wcp*/{T34* C1=C;
  4299. T0* b1=((T0*)ms34_61008);
  4300. r34warning(r34current_position(C1),b1);
  4301. }/*]*/
  4302. }
  4303. /*FI]*/
  4304. /*[IF*/
  4305. if(!(r34skip1(C,'\51'))){
  4306. r34fcp(C,((T0*)ms34_76190));
  4307. }
  4308. /*FI]*/
  4309. }
  4310. /*FI]*/
  4311. R=1;
  4312. {T220*n=malloc(sizeof(*n));
  4313. *n=M220;
  4314. r220make(n,_sp,_list,r34a_compound2(C,((T0*)ms34_2670),((T0*)ms13_951)));
  4315. _e_debug=(T0*)n;
  4316. }
  4317. C->_last_instruction=_e_debug;
  4318. }
  4319. /*FI]*/
  4320. return R;
  4321. }
  4322.  
  4323.  
  4324. T6 r34a_parent(T34* C){
  4325. T6 R=0;
  4326. /*[IF*/
  4327. if(r34a_class_type(C)){
  4328. R=1;
  4329. {T79*n=malloc(sizeof(*n));
  4330. *n=M79;
  4331. r79make(n,(C)->_last_class_type/*93*/);
  4332. C->_last_parent=(T0*)n;
  4333. }
  4334. /*[IF*/
  4335. if(r34a_keyword(C,((T0*)ms13_6912))){
  4336. r34a_rename_list(C);
  4337. /*[IF*/
  4338. if(((C)->_cc/*24*/)==('\73')){
  4339. /*[IRF3.6wcp*/{T34* C1=C;
  4340. T0* b1=((T0*)ms34_71638);
  4341. r34warning(r34current_position(C1),b1);
  4342. }/*]*/
  4343. C->_ok=r34skip1(C,'\73');
  4344. }
  4345. /*FI]*/
  4346. }
  4347. /*FI]*/
  4348. r34a_new_export_list(C);
  4349. /*[IF*/
  4350. if(r34a_keyword(C,((T0*)ms13_10824))){
  4351. /*[IF*/
  4352. if(r34a_feature_name_list(C)){
  4353. /*[IRF3.3set_undefine*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_undefine_list)=((C)->_last_feature_name_list/*109*/);
  4354. /*]*/
  4355. }
  4356. /*FI]*/
  4357. }
  4358. /*FI]*/
  4359. /*[IF*/
  4360. if(r34a_keyword(C,((T0*)ms13_10728))){
  4361. /*[IF*/
  4362. if(r34a_feature_name_list(C)){
  4363. /*[IRF3.3set_redefine*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_redefine_list)=((C)->_last_feature_name_list/*109*/);
  4364. /*]*/
  4365. }
  4366. /*FI]*/
  4367. }
  4368. /*FI]*/
  4369. /*[IF*/
  4370. if(r34a_keyword(C,((T0*)ms13_7410))){
  4371. /*[IF*/
  4372. if(r34a_feature_name_list(C)){
  4373. /*[IRF3.3set_select*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_select_list)=((C)->_last_feature_name_list/*109*/);
  4374. /*]*/
  4375. }
  4376. /*FI]*/
  4377. }
  4378. /*FI]*/
  4379. /*[IF*/
  4380. if(((((r34a_keyword(C,((T0*)ms13_6912)))||(r34a_keyword(C,((T0*)ms13_7614))))||(r34a_keyword(C,((T0*)ms13_10824))))||(r34a_keyword(C,((T0*)ms13_10728))))||(r34a_keyword(C,((T0*)ms13_7410)))){
  4381. r21add_position(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4382. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_667805);
  4383. r21fatal_error((T21*)(oBC12eh),b1);
  4384. }/*]*/
  4385. }
  4386. /*FI]*/
  4387. C->_ok=r34a_keyword(C,((T0*)ms13_951));
  4388. }
  4389. /*FI]*/
  4390. return R;
  4391. }
  4392. /*No:EIFFEL_PARSER.fz_desc*/
  4393.  
  4394.  
  4395. T6 r34a_bit_constant(T34* C){
  4396. T6 R=0;
  4397. T2 _state=0;
  4398. T2 _c=0;
  4399. T2 _l=0;
  4400. /*[IF*/
  4401. if((((C)->_cc/*24*/)==('0'))||(((C)->_cc/*24*/)==('1'))){
  4402. _l=(C)->_line/*16*/;
  4403. _c=(C)->_column/*12*/;
  4404. /*[IRF3.3clear*/((((T7*)((T7*)(oBC34tmp_string))))->_count)=(0);
  4405. /*]*/
  4406. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4407. while (!((_state)>(0))) {
  4408. r34next_char(C);
  4409. {int z1=(C)->_cc/*24*/;
  4410.  
  4411. if(((48<=z1)&&(z1<=49))){
  4412. r7extend((T7*)(oBC34tmp_string),(C)->_cc/*24*/);
  4413. }
  4414.  else 
  4415. if((66==z1)||(98==z1)){
  4416. {T55*n=malloc(sizeof(*n));
  4417. *n=M55;
  4418. r55make(n,r34pos(_l,_c),r7twin((T7*)(oBC34tmp_string)));
  4419. C->_last_bit_constant=(T0*)n;
  4420. }
  4421. r34next_char(C);
  4422. r34skip_comments(C);
  4423. _state=1;
  4424. R=1;
  4425. }
  4426.  else{r34go_back_at(C,_l,_c);
  4427. _state=2;
  4428. }}
  4429. }
  4430. }
  4431. /*FI]*/
  4432. return R;
  4433. }
  4434. /*No:EIFFEL_PARSER.us_and_then*/
  4435. /*No:EIFFEL_PARSER.fz_alias*/
  4436.  
  4437.  
  4438. void r34a_formal_generic_list(T34* C){
  4439. T2 _state=0;
  4440. T0* _list=NULL;
  4441. T0* _fga=NULL;
  4442. T0* _constraint=NULL;
  4443. T0* _name=NULL;
  4444. T0* _sp=NULL;
  4445. C->_formal_generic_list=NULL;
  4446. while (!((_state)>(4))) {
  4447. {int z1=_state;
  4448.  
  4449. if((0==z1)){
  4450. /*[IF*/
  4451. if(r34skip1(C,'\133')){
  4452. {T70*n=malloc(sizeof(*n));
  4453. *n=M70;
  4454. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4455. _sp=(T0*)n;
  4456. }
  4457. _state=1;
  4458. }
  4459. else{
  4460. _state=5;
  4461. }
  4462. /*FI]*/
  4463. }
  4464.  else 
  4465. if((1==z1)){
  4466. /*[IF*/
  4467. if(r34a_base_class_name(C)){
  4468. _name=(C)->_last_class_name/*89*/;
  4469. _state=2;
  4470. }
  4471. else{
  4472. _state=6;
  4473. }
  4474. /*FI]*/
  4475. }
  4476.  else 
  4477. if((2==z1)){
  4478. /*[IF*/
  4479. if(r34skip2(C,'\55','\76')){
  4480. _state=4;
  4481. }
  4482.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
  4483. {T278*n=malloc(sizeof(*n));
  4484. *n=M278;
  4485. r278make(n,_name,_constraint);
  4486. _fga=(T0*)n;
  4487. }
  4488. _name=NULL;
  4489. _constraint=NULL;
  4490. /*[IF*/
  4491. if((_list)==((void*)(NULL))){
  4492. _list=se_ma279(1,
  4493. _fga);
  4494. }
  4495. else{
  4496. r279add_last(((T279*)_list),_fga);
  4497. }
  4498. /*FI]*/
  4499. _fga=NULL;
  4500. /*[IF*/
  4501. if(r34skip1(C,'\54')){
  4502. _state=1;
  4503. }
  4504. else{
  4505. C->_ok=r34skip1(C,'\135');
  4506. _state=5;
  4507. }
  4508. /*FI]*/
  4509. }
  4510. else{
  4511. _state=6;
  4512. }
  4513. /*FI]*/
  4514. }
  4515.  else 
  4516. if((3==z1)){
  4517. /*[IF*/
  4518. if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
  4519. {T278*n=malloc(sizeof(*n));
  4520. *n=M278;
  4521. r278make(n,_name,_constraint);
  4522. _fga=(T0*)n;
  4523. }
  4524. _name=NULL;
  4525. _constraint=NULL;
  4526. /*[IF*/
  4527. if((_list)==((void*)(NULL))){
  4528. _list=se_ma279(1,
  4529. _fga);
  4530. }
  4531. else{
  4532. r279add_last(((T279*)_list),_fga);
  4533. }
  4534. /*FI]*/
  4535. _fga=NULL;
  4536. /*[IF*/
  4537. if(r34skip1(C,'\54')){
  4538. _state=1;
  4539. }
  4540. else{
  4541. C->_ok=r34skip1(C,'\135');
  4542. _state=5;
  4543. }
  4544. /*FI]*/
  4545. }
  4546. else{
  4547. _state=6;
  4548. }
  4549. /*FI]*/
  4550. }
  4551.  else{/*[IF*/
  4552. if(r34a_class_type(C)){
  4553. _constraint=(C)->_last_class_type/*93*/;
  4554. _state=3;
  4555. }
  4556. else{
  4557. r34fcp(C,((T0*)ms34_60760));
  4558. _state=6;
  4559. }
  4560. /*FI]*/
  4561. }}
  4562. }
  4563. /*[IF*/
  4564. if((_state)==(6)){
  4565. }
  4566.  else if(((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))){
  4567. r34warning(_sp,((T0*)ms34_79128a));
  4568. }
  4569.  else if((_sp)!=((void*)(NULL))){
  4570. {T94*n=malloc(sizeof(*n));
  4571. *n=M94;
  4572. r94make(n,_sp,_list);
  4573. C->_formal_generic_list=(T0*)n;
  4574. }
  4575. /*[IRF3.3set_formal_generic_list*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_formal_generic_list)=((C)->_formal_generic_list/*37*/);
  4576. /*]*/
  4577. }
  4578. /*FI]*/
  4579. }
  4580. /*No:EIFFEL_PARSER.fz_class*/
  4581. /*No:EIFFEL_PARSER.fz_prefix*/
  4582. /*No:EIFFEL_PARSER.fz_strip*/
  4583. /*No:EIFFEL_PARSER.fz_unique*/
  4584.  
  4585.  
  4586. T6 r34skip1unless2(T34* C,T3 a1,T3 a2){
  4587. T6 R=0;
  4588. C->_start_line=(C)->_line/*16*/;
  4589. C->_start_column=(C)->_column/*12*/;
  4590. /*[IF*/
  4591. if(((C)->_cc/*24*/)==(a1)){
  4592. r34next_char(C);
  4593. /*[IF*/
  4594. if(((C)->_cc/*24*/)==(a2)){
  4595. r34prev_char(C);
  4596. }
  4597. else{
  4598. R=1;
  4599. r34skip_comments(C);
  4600. }
  4601. /*FI]*/
  4602. }
  4603. /*FI]*/
  4604. return R;
  4605. }
  4606. /*No:EIFFEL_PARSER.ecp*/
  4607.  
  4608.  
  4609. void r34fcp(T34* C,T0* a1){
  4610. r21add_position(r34current_position(C));
  4611. /*[IRF3.6fatal_error*/{T0* b1=a1;
  4612. r21fatal_error((T21*)(oBC12eh),b1);
  4613. }/*]*/
  4614. }
  4615.  
  4616.  
  4617. T0* r34a_compound1(T34* C){
  4618. T0* R=NULL;
  4619. T0* _remainder=NULL;
  4620. T0* _first_one=NULL;
  4621. T0* _instruction=NULL;
  4622. T0* _hc=NULL;
  4623. _hc=r34get_comments(C);
  4624. while (!(((C)->_cc/*24*/)!=('\73'))) {
  4625. /*[IRF3.6wcp*/{T34* C1=C;
  4626. T0* b1=((T0*)ms13_41475);
  4627. r34warning(r34current_position(C1),b1);
  4628. }/*]*/
  4629. C->_ok=r34skip1(C,'\73');
  4630. }
  4631. while (!((!(r34a_instruction(C)))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
  4632. _instruction=(C)->_last_instruction/*133*/;
  4633. /*[IF*/
  4634. if(((C)->_cc/*24*/)==('\50')){
  4635. /*[IRF3.6wcp*/{T34* C1=C;
  4636. T0* b1=((T0*)ms34_9410a);
  4637. r34warning(r34current_position(C1),b1);
  4638. }/*]*/
  4639. }
  4640. /*FI]*/
  4641. C->_ok=r34skip1(C,'\73');
  4642. while (!(((C)->_cc/*24*/)!=('\73'))) {
  4643. /*[IRF3.6wcp*/{T34* C1=C;
  4644. T0* b1=((T0*)ms13_41475);
  4645. r34warning(r34current_position(C1),b1);
  4646. }/*]*/
  4647. C->_ok=r34skip1(C,'\73');
  4648. }
  4649. /*[IF*/
  4650. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  4651. _instruction=X161add_comment(_instruction,r34get_comments(C));
  4652. /*[IF*/
  4653. if((_first_one)==((void*)(NULL))){
  4654. _first_one=_instruction;
  4655. }
  4656. else{
  4657. /*[IF*/
  4658. if((_remainder)==((void*)(NULL))){
  4659. {T217*n=malloc(sizeof(*n));
  4660. *n=M217;
  4661. r217with_capacity(n,4);
  4662. _remainder=(T0*)n;
  4663. }
  4664. }
  4665. /*FI]*/
  4666. r217add_last(((T217*)_remainder),_instruction);
  4667. }
  4668. /*FI]*/
  4669. }
  4670. /*FI]*/
  4671. }
  4672. /*[IF*/
  4673. if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
  4674. {T216*n=malloc(sizeof(*n));
  4675. *n=M216;
  4676. r216make(n,_hc,_first_one,_remainder);
  4677. R=(T0*)n;
  4678. }
  4679. }
  4680. /*FI]*/
  4681. return R;
  4682. }
  4683.  
  4684.  
  4685. T6 r34a_result(T34* C){
  4686. T6 R=0;
  4687. /*[IF*/
  4688. if(r109is_result()){
  4689. C->_last_expression=r34last_result(C);
  4690. R=1;
  4691. }
  4692. /*FI]*/
  4693. return R;
  4694. }
  4695. /*No:EIFFEL_PARSER.set_drop_comments*/
  4696. /*No:EIFFEL_PARSER.fz_all*/
  4697.  
  4698.  
  4699. T6 r34skip1(T34* C,T3 a1){
  4700. T6 R=0;
  4701. /*[IF*/
  4702. if((a1)==((C)->_cc/*24*/)){
  4703. C->_start_line=(C)->_line/*16*/;
  4704. C->_start_column=(C)->_column/*12*/;
  4705. R=1;
  4706. r34next_char(C);
  4707. r34skip_comments(C);
  4708. }
  4709. /*FI]*/
  4710. return R;
  4711. }
  4712.  
  4713.  
  4714. T6 r34skip2(T34* C,T3 a1,T3 a2){
  4715. T6 R=0;
  4716. /*[IF*/
  4717. if((a1)==((C)->_cc/*24*/)){
  4718. C->_start_line=(C)->_line/*16*/;
  4719. C->_start_column=(C)->_column/*12*/;
  4720. r34next_char(C);
  4721. /*[IF*/
  4722. if((a2)==((C)->_cc/*24*/)){
  4723. R=1;
  4724. r34next_char(C);
  4725. r34skip_comments(C);
  4726. }
  4727. else{
  4728. r34prev_char(C);
  4729. }
  4730. /*FI]*/
  4731. }
  4732. /*FI]*/
  4733. return R;
  4734. }
  4735. /*No:EIFFEL_PARSER.last_keyword*/
  4736. T0*oBC34lcs=NULL;
  4737.  
  4738.  
  4739. T6 r34a_boolean_constant(T34* C){
  4740. T6 R=0;
  4741. /*[IF*/
  4742. if(r34a_keyword(C,((T0*)ms13_1832))){
  4743. {T168*n=malloc(sizeof(*n));
  4744. *n=M168;
  4745. /*[IRF3.3make*/((((T168*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4746. /*]*/
  4747. C->_last_boolean_constant=(T0*)n;
  4748. }
  4749. R=1;
  4750. }
  4751.  else if(r34a_keyword(C,((T0*)ms13_2690))){
  4752. {T169*n=malloc(sizeof(*n));
  4753. *n=M169;
  4754. /*[IRF3.3make*/((((T169*)(n)))->_start_position)=(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4755. /*]*/
  4756. C->_last_boolean_constant=(T0*)n;
  4757. }
  4758. R=1;
  4759. }
  4760. /*FI]*/
  4761. return R;
  4762. }
  4763.  
  4764.  
  4765. T6 r34a_index_clause(T34* C){
  4766. T6 R=0;
  4767. T0* _index_clause=NULL;
  4768. /*[IF*/
  4769. if(r34a_identifier(C)){
  4770. R=1;
  4771. /*[IF*/
  4772. if(r34skip1(C,'\72')){
  4773. {T320*n=malloc(sizeof(*n));
  4774. *n=M320;
  4775. /*[IRF3.3with_tag*/((((T320*)(n)))->_tag)=(r109to_string((T109*)(oBC34tmp_name)));
  4776. /*]*/
  4777. _index_clause=(T0*)n;
  4778. }
  4779. /*[IF*/
  4780. if(r34a_index_value(C)){
  4781. r320add_last(((T320*)_index_clause),(C)->_last_index_value/*137*/);
  4782. }
  4783. else{
  4784. r34fcp(C,((T0*)ms34_86146));
  4785. }
  4786. /*FI]*/
  4787. }
  4788. else{
  4789. {T320*n=malloc(sizeof(*n));
  4790. *n=M320;
  4791. /*[IRF3.6without_tag*/{T320* C1=n;
  4792. T0* b1=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  4793. r320add_last(C1,b1);
  4794. }/*]*/
  4795. _index_clause=(T0*)n;
  4796. }
  4797. }
  4798. /*FI]*/
  4799. }
  4800.  else if(r34a_manifest_constant(C)){
  4801. R=1;
  4802. {T320*n=malloc(sizeof(*n));
  4803. *n=M320;
  4804. /*[IRF3.6without_tag*/{T320* C1=n;
  4805. T0* b1=(C)->_last_manifest_constant/*141*/;
  4806. r320add_last(C1,b1);
  4807. }/*]*/
  4808. _index_clause=(T0*)n;
  4809. }
  4810. }
  4811. /*FI]*/
  4812. /*[IF*/
  4813. if(R){
  4814. while (!(!(r34skip1(C,'\54')))) {
  4815. /*[IF*/
  4816. if(r34a_index_value(C)){
  4817. r320add_last(((T320*)_index_clause),(C)->_last_index_value/*137*/);
  4818. }
  4819. else{
  4820. r34fcp(C,((T0*)ms34_86146));
  4821. }
  4822. /*FI]*/
  4823. }
  4824. r63add_index_clause((T63*)((C)->_last_base_class/*65*/),_index_clause);
  4825. }
  4826. /*FI]*/
  4827. return R;
  4828. }
  4829.  
  4830.  
  4831. T6 r34a_instruction(T34* C){
  4832. T6 R=0;
  4833. R=(((((((r34a_check(C))||(r34a_debug(C)))||(r34a_conditional(C)))||(r34a_retry(C)))||(r34a_inspect(C)))||(r34a_loop(C)))||(r34a_creation(C)))||(r34a_assignment_or_call(C));
  4834. return R;
  4835. }
  4836.  
  4837.  
  4838. void r34wcpefnc(T34* C,T0* a1,T0* a2){
  4839. /*[IRF3.6append*/{T0* b1=((T0*)ms34_44280);
  4840. r7append((T7*)(oBC21explanation),b1);
  4841. }/*]*/
  4842. /*[IRF3.6append*/{T0* b1=a1;
  4843. r7append((T7*)(oBC21explanation),b1);
  4844. }/*]*/
  4845. /*[IRF3.6append*/{T0* b1=((T0*)ms34_6730);
  4846. r7append((T7*)(oBC21explanation),b1);
  4847. }/*]*/
  4848. /*[IRF3.6append*/{T0* b1=a2;
  4849. r7append((T7*)(oBC21explanation),b1);
  4850. }/*]*/
  4851. /*[IRF3.6wcp*/{T34* C1=C;
  4852. T0* b1=((T0*)ms34_94878);
  4853. r34warning(r34current_position(C1),b1);
  4854. }/*]*/
  4855. }
  4856. /*No:EIFFEL_PARSER.wcp*/
  4857. /*No:EIFFEL_PARSER.last_type_formal_generic*/
  4858.  
  4859.  
  4860. T6 r34a_base_type(T34* C){
  4861. T6 R=0;
  4862. T0* _sp=NULL;
  4863. R=1;
  4864. /*[IF*/
  4865. if(r34a_keyword(C,((T0*)ms14_714))){
  4866. {T259*n=malloc(sizeof(*n));
  4867. *n=M259;
  4868. r259make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4869. C->_last_base_type=(T0*)n;
  4870. }
  4871. }
  4872.  else if(r34a_keyword(C,((T0*)ms14_1990))){
  4873. {T70*n=malloc(sizeof(*n));
  4874. *n=M70;
  4875. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4876. _sp=(T0*)n;
  4877. }
  4878. /*[IF*/
  4879. if(((r34skip1(C,'\133'))&&(r34a_type(C)))&&(r34skip1(C,'\135'))){
  4880. {T260*n=malloc(sizeof(*n));
  4881. *n=M260;
  4882. r260make(n,_sp,(C)->_last_type/*157*/);
  4883. C->_last_base_type=(T0*)n;
  4884. }
  4885. }
  4886. else{
  4887. r34fcp(C,((T0*)ms34_64185));
  4888. }
  4889. /*FI]*/
  4890. }
  4891.  else if(r34a_keyword(C,((T0*)ms14_17628))){
  4892. {T70*n=malloc(sizeof(*n));
  4893. *n=M70;
  4894. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4895. _sp=(T0*)n;
  4896. }
  4897. /*[IF*/
  4898. if(((r34skip1(C,'\133'))&&(r34a_type(C)))&&(r34skip1(C,'\135'))){
  4899. {T263*n=malloc(sizeof(*n));
  4900. *n=M263;
  4901. r263make(n,_sp,(C)->_last_type/*157*/);
  4902. C->_last_base_type=(T0*)n;
  4903. }
  4904. }
  4905. else{
  4906. r34fcp(C,((T0*)ms34_90680));
  4907. }
  4908. /*FI]*/
  4909. }
  4910.  else if(r34a_keyword(C,((T0*)ms34_7203))){
  4911. {T70*n=malloc(sizeof(*n));
  4912. *n=M70;
  4913. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4914. _sp=(T0*)n;
  4915. }
  4916. /*[IF*/
  4917. if(((r34skip1(C,'\133'))&&(r34a_type(C)))&&(r34skip1(C,'\135'))){
  4918. {T263*n=malloc(sizeof(*n));
  4919. *n=M263;
  4920. r263make(n,_sp,(C)->_last_type/*157*/);
  4921. C->_last_base_type=(T0*)n;
  4922. }
  4923. }
  4924. else{
  4925. r34fcp(C,((T0*)ms34_71295));
  4926. }
  4927. /*FI]*/
  4928. r34warning(_sp,((T0*)ms34_151262));
  4929. }
  4930.  else if(r34a_keyword(C,((T0*)ms14_6510))){
  4931. {T264*n=malloc(sizeof(*n));
  4932. *n=M264;
  4933. r264make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4934. C->_last_base_type=(T0*)n;
  4935. }
  4936. }
  4937.  else if(r34a_keyword(C,((T0*)ms14_9936))){
  4938. {T266*n=malloc(sizeof(*n));
  4939. *n=M266;
  4940. r266make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4941. C->_last_base_type=(T0*)n;
  4942. }
  4943. }
  4944.  else if(r34a_keyword(C,((T0*)ms14_4818))){
  4945. {T267*n=malloc(sizeof(*n));
  4946. *n=M267;
  4947. r267make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4948. C->_last_base_type=(T0*)n;
  4949. }
  4950. }
  4951.  else if(r34a_keyword(C,((T0*)ms14_6748))){
  4952. {T268*n=malloc(sizeof(*n));
  4953. *n=M268;
  4954. r268make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4955. C->_last_base_type=(T0*)n;
  4956. }
  4957. }
  4958.  else if(r34a_keyword(C,((T0*)ms14_1256))){
  4959. {T269*n=malloc(sizeof(*n));
  4960. *n=M269;
  4961. r269make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4962. C->_last_base_type=(T0*)n;
  4963. }
  4964. }
  4965.  else if(r34a_keyword(C,((T0*)ms14_6881))){
  4966. {T270*n=malloc(sizeof(*n));
  4967. *n=M270;
  4968. r270make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4969. C->_last_base_type=(T0*)n;
  4970. }
  4971. }
  4972.  else if(r34a_keyword(C,((T0*)ms14_1208))){
  4973. {T271*n=malloc(sizeof(*n));
  4974. *n=M271;
  4975. r271make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4976. C->_last_base_type=(T0*)n;
  4977. }
  4978. }
  4979.  else if(r34a_keyword(C,((T0*)ms14_5046))){
  4980. {T272*n=malloc(sizeof(*n));
  4981. *n=M272;
  4982. r272make(n,r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4983. C->_last_base_type=(T0*)n;
  4984. }
  4985. }
  4986. else{
  4987. R=0;
  4988. }
  4989. /*FI]*/
  4990. return R;
  4991. }
  4992.  
  4993.  
  4994. void r34a_procedure_call(T34* C){
  4995. T0* _implicit_current=NULL;
  4996. T0* _sfn=NULL;
  4997. _sfn=r109to_simple_feature_name((T109*)(oBC34tmp_name));
  4998. {T193*n=malloc(sizeof(*n));
  4999. *n=M193;
  5000. /*[IRF3.3make*/((((T193*)(n)))->_start_position)=((((T148*)_sfn))->_start_position/*8*/);
  5001. /*]*/
  5002. _implicit_current=(T0*)n;
  5003. }
  5004. r34a_r10(C,1,_implicit_current,_sfn,r34a_actuals(C));
  5005. }
  5006.  
  5007.  
  5008. T0* r34pos(T2 a1,T2 a2){
  5009. T0* R=NULL;
  5010. {T70*n=malloc(sizeof(*n));
  5011. *n=M70;
  5012. r70make(n,a1,a2);
  5013. R=(T0*)n;
  5014. }
  5015. return R;
  5016. }
  5017.  
  5018.  
  5019. void r34show_nb(T2 a1,T0* a2){
  5020. /*[IF*/
  5021. if((a1)>(0)){
  5022. r28w_put_string(((T0*)ms13_3143));
  5023. r28w_put_integer(a1);
  5024. r28w_put_string(a2);
  5025. }
  5026. /*FI]*/
  5027. }
  5028. /*No:EIFFEL_PARSER.fz_error_stars*/
  5029.  
  5030.  
  5031. T0* r34connect_to_cecil(T34* C){
  5032. T0* R=NULL;
  5033. T0* _path=NULL;
  5034. _path=((T43*)(oBC12run_control))->_cecil_path/*20*/;
  5035. r28put_string((T28*)(oBC12echo),((T0*)ms34_25158));
  5036. r28put_string((T28*)(oBC12echo),_path);
  5037. r28put_character((T28*)(oBC12echo),'\n');
  5038. r72load_file((T72*)(oBC12parser_buffer),_path);
  5039. /*[IF*/
  5040. if(!(/*(IRF4.7is_ready*/(((T72*)(oBC12parser_buffer))->_path/*0*/)!=(NULL)/*)*/)){
  5041. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms34_167200);
  5042. r21fatal_error((T21*)(oBC12eh),b1);
  5043. }/*]*/
  5044. }
  5045. /*FI]*/
  5046. C->_is_running=1;
  5047. C->_formal_generic_list=NULL;
  5048. C->_inside_function=0;
  5049. C->_inside_once_function=0;
  5050. C->_in_ensure=0;
  5051. C->_last_comments=NULL;
  5052. C->_line=1;
  5053. C->_column=1;
  5054. C->_current_line=r72item((C)->_line/*16*/);
  5055. {T63*n=malloc(sizeof(*n));
  5056. *n=M63;
  5057. r63make(n);
  5058. C->_last_base_class=(T0*)n;
  5059. }
  5060. r64identify((T64*)(/*(IRF4.6current_class_name*/(((T63*)((C)->_last_base_class/*65*/)))->_name/*24*//*)*/),((T0*)ms34_15050));
  5061. r22add_class((T22*)(oBC12small_eiffel),(C)->_last_base_class/*65*/);
  5062. /*[IF*/
  5063. if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
  5064. C->_cc='\n';
  5065. }
  5066. else{
  5067. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  5068. }
  5069. /*FI]*/
  5070. r34skip_comments(C);
  5071. {T7*n=malloc(sizeof(*n));
  5072. *n=M7;
  5073. r7make(n,32);
  5074. R=(T0*)n;
  5075. }
  5076. while (!(((C)->_cc/*24*/)==('\n'))) {
  5077. r7extend(((T7*)R),(C)->_cc/*24*/);
  5078. r34next_char(C);
  5079. }
  5080. r34skip_comments(C);
  5081. return R;
  5082. }
  5083. /*No:EIFFEL_PARSER.us_minus*/
  5084.  
  5085.  
  5086. T6 r34a_identifier(T34* C){
  5087. T6 R=0;
  5088. /*[IF*/
  5089. if((C)->_case_insensitive/*0*/){
  5090. R=r34a_identifier1(C);
  5091. }
  5092. else{
  5093. R=r34a_identifier2(C);
  5094. }
  5095. /*FI]*/
  5096. return R;
  5097. }
  5098. /*No:EIFFEL_PARSER.fz_else*/
  5099.  
  5100.  
  5101. T0* r34a_compound2(T34* C,T0* a1,T0* a2){
  5102. T0* R=NULL;
  5103. T0* _remainder=NULL;
  5104. T0* _first_one=NULL;
  5105. T0* _instruction=NULL;
  5106. T0* _hc=NULL;
  5107. _hc=r34get_comments(C);
  5108. while (!(((C)->_cc/*24*/)!=('\73'))) {
  5109. /*[IRF3.6wcp*/{T34* C1=C;
  5110. T0* b1=((T0*)ms13_41475);
  5111. r34warning(r34current_position(C1),b1);
  5112. }/*]*/
  5113. C->_ok=r34skip1(C,'\73');
  5114. }
  5115. while (!((!(r34a_instruction(C)))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
  5116. _instruction=(C)->_last_instruction/*133*/;
  5117. /*[IF*/
  5118. if(((C)->_cc/*24*/)==('\50')){
  5119. /*[IRF3.6wcp*/{T34* C1=C;
  5120. T0* b1=((T0*)ms34_9410a);
  5121. r34warning(r34current_position(C1),b1);
  5122. }/*]*/
  5123. }
  5124. /*FI]*/
  5125. C->_ok=r34skip1(C,'\73');
  5126. while (!(((C)->_cc/*24*/)!=('\73'))) {
  5127. /*[IRF3.6wcp*/{T34* C1=C;
  5128. T0* b1=((T0*)ms13_41475);
  5129. r34warning(r34current_position(C1),b1);
  5130. }/*]*/
  5131. C->_ok=r34skip1(C,'\73');
  5132. }
  5133. /*[IF*/
  5134. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  5135. _instruction=X161add_comment(_instruction,r34get_comments(C));
  5136. /*[IF*/
  5137. if((_first_one)==((void*)(NULL))){
  5138. _first_one=_instruction;
  5139. }
  5140. else{
  5141. /*[IF*/
  5142. if((_remainder)==((void*)(NULL))){
  5143. {T217*n=malloc(sizeof(*n));
  5144. *n=M217;
  5145. r217with_capacity(n,4);
  5146. _remainder=(T0*)n;
  5147. }
  5148. }
  5149. /*FI]*/
  5150. r217add_last(((T217*)_remainder),_instruction);
  5151. }
  5152. /*FI]*/
  5153. }
  5154. /*FI]*/
  5155. }
  5156. /*[IF*/
  5157. if(!(r34a_keyword(C,a2))){
  5158. /*[IRF3.6append*/{T0* b1=((T0*)ms34_12480);
  5159. r7append((T7*)(oBC21explanation),b1);
  5160. }/*]*/
  5161. /*[IRF3.6append*/{T0* b1=a1;
  5162. r7append((T7*)(oBC21explanation),b1);
  5163. }/*]*/
  5164. /*[IRF3.6append*/{T0* b1=((T0*)ms34_33345);
  5165. r7append((T7*)(oBC21explanation),b1);
  5166. }/*]*/
  5167. /*[IRF3.6append*/{T0* b1=a2;
  5168. r7append((T7*)(oBC21explanation),b1);
  5169. }/*]*/
  5170. r34fcp(C,((T0*)ms34_10120a));
  5171. }
  5172. /*FI]*/
  5173. /*[IF*/
  5174. if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
  5175. {T216*n=malloc(sizeof(*n));
  5176. *n=M216;
  5177. r216make(n,_hc,_first_one,_remainder);
  5178. R=(T0*)n;
  5179. }
  5180. }
  5181. /*FI]*/
  5182. return R;
  5183. }
  5184. /*No:EIFFEL_PARSER.fz_deferred*/
  5185. /*No:EIFFEL_PARSER.fz_like*/
  5186.  
  5187.  
  5188. T6 r34a_loop(T34* C){
  5189. T6 R=0;
  5190. T0* _al=NULL;
  5191. T0* _hc=NULL;
  5192. T0* _lb=NULL;
  5193. T0* _ue=NULL;
  5194. T0* _vc=NULL;
  5195. T0* _ic=NULL;
  5196. T0* _i=NULL;
  5197. T0* _e_loop=NULL;
  5198. T2 _c2=0;
  5199. T2 _l2=0;
  5200. T2 _c1=0;
  5201. T2 _l1=0;
  5202. /*[IF*/
  5203. if(r34a_keyword(C,((T0*)ms13_1784))){
  5204. R=1;
  5205. _l1=(C)->_start_line/*169*/;
  5206. _c1=(C)->_start_column/*165*/;
  5207. _i=r34a_compound1(C);
  5208. /*[IF*/
  5209. if(r34a_keyword(C,((T0*)ms13_14427))){
  5210. _l2=(C)->_start_line/*169*/;
  5211. _c2=(C)->_start_column/*165*/;
  5212. _hc=r34get_comments(C);
  5213. _al=r34a_assertion(C);
  5214. /*[IF*/
  5215. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  5216. {T243*n=malloc(sizeof(*n));
  5217. *n=M243;
  5218. r243make(n,r34pos(_l2,_c2),_hc,_al);
  5219. _ic=(T0*)n;
  5220. }
  5221. }
  5222. /*FI]*/
  5223. }
  5224. /*FI]*/
  5225. /*[IF*/
  5226. if(r34a_keyword(C,((T0*)ms13_9506))){
  5227. /*[IF*/
  5228. if((r34a_tag_mark(C))&&(r34a_expression(C))){
  5229. {T245*n=malloc(sizeof(*n));
  5230. *n=M245;
  5231. r245make(n,(C)->_last_tag_mark/*161*/,(C)->_last_expression/*97*/,r34get_comments(C));
  5232. _vc=(T0*)n;
  5233. }
  5234. }
  5235.  else if(r34a_expression(C)){
  5236. {T246*n=malloc(sizeof(*n));
  5237. *n=M246;
  5238. r246make(n,(C)->_last_expression/*97*/,r34get_comments(C));
  5239. _vc=(T0*)n;
  5240. }
  5241. }
  5242. else{
  5243. /*[IRF3.6wcp*/{T34* C1=C;
  5244. T0* b1=((T0*)ms34_85956);
  5245. r34warning(r34current_position(C1),b1);
  5246. }/*]*/
  5247. }
  5248. /*FI]*/
  5249. }
  5250. /*FI]*/
  5251. /*[IF*/
  5252. if(r34a_keyword(C,((T0*)ms13_2855))){
  5253. /*[IF*/
  5254. if(r34a_expression(C)){
  5255. _ue=X56add_comment((C)->_last_expression/*97*/,r34get_comments(C));
  5256. }
  5257. else{
  5258. r34fcp(C,((T0*)ms34_78048));
  5259. _ue=(C)->_last_expression/*97*/;
  5260. }
  5261. /*FI]*/
  5262. }
  5263. else{
  5264. r34fcp(C,((T0*)ms34_83028));
  5265. _ue=(C)->_last_expression/*97*/;
  5266. }
  5267. /*FI]*/
  5268. /*[IF*/
  5269. if(((C)->_cc/*24*/)==('\73')){
  5270. /*[IRF3.6wcp*/{T34* C1=C;
  5271. T0* b1=((T0*)ms13_41475);
  5272. r34warning(r34current_position(C1),b1);
  5273. }/*]*/
  5274. C->_ok=r34skip1(C,'\73');
  5275. }
  5276. /*FI]*/
  5277. /*[IF*/
  5278. if(!(r34a_keyword(C,((T0*)ms13_1808)))){
  5279. /*[IRF3.6wcp*/{T34* C1=C;
  5280. T0* b1=((T0*)ms34_79128);
  5281. r34warning(r34current_position(C1),b1);
  5282. }/*]*/
  5283. }
  5284. /*FI]*/
  5285. _lb=r34a_compound2(C,((T0*)ms34_14202),((T0*)ms13_951));
  5286. {T244*n=malloc(sizeof(*n));
  5287. *n=M244;
  5288. r244make(n,r34pos(_l1,_c1),_i,_ic,_vc,_ue,_lb);
  5289. _e_loop=(T0*)n;
  5290. }
  5291. C->_last_instruction=_e_loop;
  5292. }
  5293. /*FI]*/
  5294. return R;
  5295. }
  5296.  
  5297.  
  5298. T6 r34a_base_class_name(T34* C){
  5299. T6 R=0;
  5300. T6 _do_warning=0;
  5301. T2 _state=0;
  5302. /*[IF*/
  5303. if(r3is_letter((C)->_cc/*24*/)){
  5304. /*[IF*/
  5305. if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
  5306. _do_warning=1;
  5307. C->_cc=r3to_upper((C)->_cc/*24*/);
  5308. }
  5309. /*FI]*/
  5310. r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  5311. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  5312. r7extend((T7*)(oBC109tmp_string),b1);
  5313. }/*]*/
  5314. while (!((_state)>(0))) {
  5315. r34next_char(C);
  5316. {int z1=(C)->_cc/*24*/;
  5317.  
  5318. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  5319. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  5320. r7extend((T7*)(oBC109tmp_string),b1);
  5321. }/*]*/
  5322. }
  5323.  else 
  5324. if(((97<=z1)&&(z1<=122))){
  5325. _do_warning=1;
  5326. /*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
  5327. r7extend((T7*)(oBC109tmp_string),b1);
  5328. }/*]*/
  5329. }
  5330.  else{_state=1;
  5331. }}
  5332. }
  5333. /*[IF*/
  5334. if(r109isa_keyword()){
  5335. _state=/*(IRF4.9count*/((T7*)(oBC109tmp_string))->_count/*4*//*)*/;
  5336. while (!((_state)==(0))) {
  5337. _state=(_state)-(1);
  5338. r34prev_char(C);
  5339. }
  5340. }
  5341. else{
  5342. R=1;
  5343. r34skip_comments(C);
  5344. /*[IF*/
  5345. if(_do_warning){
  5346. r34warning(r109start_position((T109*)(oBC34tmp_name)),((T0*)ms34_116415));
  5347. }
  5348. /*FI]*/
  5349. C->_last_class_name=r109to_class_name((T109*)(oBC34tmp_name));
  5350. }
  5351. /*FI]*/
  5352. }
  5353. /*FI]*/
  5354. return R;
  5355. }
  5356.  
  5357.  
  5358. T6 r34a_manifest_constant(T34* C){
  5359. T6 R=0;
  5360. /*[IF*/
  5361. if(r34a_boolean_constant(C)){
  5362. C->_last_manifest_constant=(C)->_last_boolean_constant/*81*/;
  5363. R=1;
  5364. }
  5365.  else if(r34a_character_constant(C)){
  5366. C->_last_manifest_constant=(C)->_last_character_constant/*85*/;
  5367. R=1;
  5368. }
  5369.  else if(r34a_manifest_string(C)){
  5370. C->_last_manifest_constant=(C)->_last_manifest_string/*145*/;
  5371. R=1;
  5372. }
  5373.  else if(r34a_bit_constant(C)){
  5374. C->_last_manifest_constant=(C)->_last_bit_constant/*77*/;
  5375. R=1;
  5376. }
  5377.  else if(r34a_real_constant(C)){
  5378. C->_last_manifest_constant=(C)->_last_real_constant/*153*/;
  5379. R=1;
  5380. }
  5381.  else if(r34a_integer_constant(C)){
  5382. C->_last_manifest_constant=(C)->_last_integer_constant/*129*/;
  5383. R=1;
  5384. }
  5385. /*FI]*/
  5386. return R;
  5387. }
  5388.  
  5389.  
  5390. T6 r34a_identifier1(T34* C){
  5391. T6 R=0;
  5392. T2 _state=0;
  5393. /*[IF*/
  5394. if(r3is_letter((C)->_cc/*24*/)){
  5395. r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  5396. /*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
  5397. r7extend((T7*)(oBC109tmp_string),b1);
  5398. }/*]*/
  5399. while (!((_state)>(0))) {
  5400. r34next_char(C);
  5401. {int z1=(C)->_cc/*24*/;
  5402.  
  5403. if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
  5404. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  5405. r7extend((T7*)(oBC109tmp_string),b1);
  5406. }/*]*/
  5407. }
  5408.  else 
  5409. if(((65<=z1)&&(z1<=90))){
  5410. /*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
  5411. r7extend((T7*)(oBC109tmp_string),b1);
  5412. }/*]*/
  5413. }
  5414.  else{_state=1;
  5415. }}
  5416. }
  5417. /*[IF*/
  5418. if(r109isa_keyword()){
  5419. _state=/*(IRF4.9count*/((T7*)(oBC109tmp_string))->_count/*4*//*)*/;
  5420. while (!((_state)==(0))) {
  5421. _state=(_state)-(1);
  5422. r34prev_char(C);
  5423. }
  5424. }
  5425. else{
  5426. R=1;
  5427. r34skip_comments(C);
  5428. }
  5429. /*FI]*/
  5430. }
  5431. /*FI]*/
  5432. return R;
  5433. }
  5434.  
  5435.  
  5436. void r34a_formal_arg_list(T34* C){
  5437. T2 _state=0;
  5438. T0* _list=NULL;
  5439. T0* _declaration=NULL;
  5440. T0* _name_list=NULL;
  5441. T0* _name=NULL;
  5442. T6 _started=0;
  5443. C->_arguments=NULL;
  5444. while (!((_state)>(5))) {
  5445. {int z1=_state;
  5446.  
  5447. if((0==z1)){
  5448. /*[IF*/
  5449. if(r34skip1(C,'\50')){
  5450. _started=1;
  5451. _state=1;
  5452. }
  5453. else{
  5454. _state=6;
  5455. }
  5456. /*FI]*/
  5457. }
  5458.  else 
  5459. if((1==z1)){
  5460. /*[IF*/
  5461. if(r34a_identifier(C)){
  5462. _name=r109to_argument_name1((T109*)(oBC34tmp_name));
  5463. _state=2;
  5464. }
  5465.  else if(r34skip1(C,'\51')){
  5466. _state=6;
  5467. }
  5468. else{
  5469. _state=7;
  5470. }
  5471. /*FI]*/
  5472. }
  5473.  else 
  5474. if((2==z1)){
  5475. /*[IF*/
  5476. if(r34skip1(C,'\72')){
  5477. /*[IF*/
  5478. if((_name_list)!=((void*)(NULL))){
  5479. r191add_last(((T191*)_name_list),_name);
  5480. _name=NULL;
  5481. }
  5482. /*FI]*/
  5483. _state=4;
  5484. }
  5485. else{
  5486. C->_ok=r34skip1(C,'\54');
  5487. /*[IF*/
  5488. if((_name_list)==((void*)(NULL))){
  5489. _name_list=se_ma191(1,
  5490. _name);
  5491. }
  5492. else{
  5493. r191add_last(((T191*)_name_list),_name);
  5494. }
  5495. /*FI]*/
  5496. _name=NULL;
  5497. _state=3;
  5498. }
  5499. /*FI]*/
  5500. }
  5501.  else 
  5502. if((3==z1)){
  5503. /*[IF*/
  5504. if(r34a_identifier(C)){
  5505. _name=r109to_argument_name1((T109*)(oBC34tmp_name));
  5506. _state=2;
  5507. }
  5508.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
  5509. /*[IRF3.6wcp*/{T34* C1=C;
  5510. T0* b1=((T0*)ms34_38712);
  5511. r34warning(r34current_position(C1),b1);
  5512. }/*]*/
  5513. C->_ok=(r34skip1(C,'\54'))||(r34skip1(C,'\73'));
  5514. }
  5515. else{
  5516. _state=7;
  5517. }
  5518. /*FI]*/
  5519. }
  5520.  else 
  5521. if((4==z1)){
  5522. /*[IF*/
  5523. if(r34a_type(C)){
  5524. /*[IF*/
  5525. if((_name_list)!=((void*)(NULL))){
  5526. {T310*n=malloc(sizeof(*n));
  5527. *n=M310;
  5528. r310make(n,_name_list,(C)->_last_type/*157*/);
  5529. _declaration=(T0*)n;
  5530. }
  5531. _name_list=NULL;
  5532. }
  5533. else{
  5534. {T313*n=malloc(sizeof(*n));
  5535. *n=M313;
  5536. r313make(n,_name,(C)->_last_type/*157*/);
  5537. _declaration=(T0*)n;
  5538. }
  5539. _name=NULL;
  5540. }
  5541. /*FI]*/
  5542. /*[IF*/
  5543. if((_list)==((void*)(NULL))){
  5544. _list=se_ma308(1,
  5545. _declaration);
  5546. }
  5547. else{
  5548. r308add_last(((T308*)_list),_declaration);
  5549. }
  5550. /*FI]*/
  5551. _declaration=NULL;
  5552. _state=5;
  5553. }
  5554. else{
  5555. _state=7;
  5556. }
  5557. /*FI]*/
  5558. }
  5559.  else{/*[IF*/
  5560. if(r34skip1(C,'\51')){
  5561. _state=6;
  5562. }
  5563.  else if(((C)->_cc/*24*/)==('\54')){
  5564. /*[IRF3.6wcp*/{T34* C1=C;
  5565. T0* b1=((T0*)ms34_29280aa);
  5566. r34warning(r34current_position(C1),b1);
  5567. }/*]*/
  5568. C->_ok=r34skip1(C,'\54');
  5569. _state=1;
  5570. }
  5571. else{
  5572. C->_ok=r34skip1(C,'\73');
  5573. _state=1;
  5574. }
  5575. /*FI]*/
  5576. }}
  5577. }
  5578. /*[IF*/
  5579. if((_state)==(7)){
  5580. r34fcp(C,((T0*)ms34_39050));
  5581. }
  5582.  else if(_started){
  5583. /*[IF*/
  5584. if((_list)==((void*)(NULL))){
  5585. /*[IRF3.6wcp*/{T34* C1=C;
  5586. T0* b1=((T0*)ms34_83028a);
  5587. r34warning(r34current_position(C1),b1);
  5588. }/*]*/
  5589. }
  5590. else{
  5591. {T187*n=malloc(sizeof(*n));
  5592. *n=M187;
  5593. r187make(n,_list);
  5594. C->_arguments=(T0*)n;
  5595. }
  5596. /*[IRF3.3set_arguments*/((((T198*)((T198*)(oBC34tmp_feature))))->_arguments)=((C)->_arguments/*49*/);
  5597. /*]*/
  5598. }
  5599. /*FI]*/
  5600. }
  5601. /*FI]*/
  5602. }
  5603.  
  5604.  
  5605. T6 r34a_check(T34* C){
  5606. T6 R=0;
  5607. T0* _al=NULL;
  5608. T0* _hc=NULL;
  5609. T0* _sp=NULL;
  5610. /*[IF*/
  5611. if(r34a_keyword(C,((T0*)ms13_2625))){
  5612. R=1;
  5613. {T70*n=malloc(sizeof(*n));
  5614. *n=M70;
  5615. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  5616. _sp=(T0*)n;
  5617. }
  5618. _hc=r34get_comments(C);
  5619. _al=r34a_assertion(C);
  5620. /*[IF*/
  5621. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  5622. {T218*n=malloc(sizeof(*n));
  5623. *n=M218;
  5624. r218make(n,_sp,_hc,_al);
  5625. C->_last_instruction=(T0*)n;
  5626. }
  5627. }
  5628. else{
  5629. /*[IRF3.6wcp*/{T34* C1=C;
  5630. T0* b1=((T0*)ms34_64448);
  5631. r34warning(r34current_position(C1),b1);
  5632. }/*]*/
  5633. }
  5634. /*FI]*/
  5635. /*[IF*/
  5636. if(!(r34a_keyword(C,((T0*)ms13_951)))){
  5637. r34fcp(C,((T0*)ms34_142100));
  5638. }
  5639. /*FI]*/
  5640. }
  5641. /*FI]*/
  5642. return R;
  5643. }
  5644.  
  5645.  
  5646. void r34to_frozen_feature_name(T34* C){
  5647. {T315*n=malloc(sizeof(*n));
  5648. *n=M315;
  5649. /*[IRF3.3make*/((((T315*)(n)))->_feature_name)=((C)->_last_feature_name/*105*/);
  5650. /*]*/
  5651. C->_last_feature_name=(T0*)n;
  5652. }
  5653. }
  5654. /*No:EIFFEL_PARSER.us_boolean*/
  5655.  
  5656.  
  5657. T6 r34a_binary(T34* C,T0* a1){
  5658. T6 R=0;
  5659. R=1;
  5660. /*[IF*/
  5661. if(r34skip2(C,'\74','\75')){
  5662. {T138*n=malloc(sizeof(*n));
  5663. *n=M138;
  5664. r138make(n,((T0*)ms14_248),a1);
  5665. C->_last_binary=(T0*)n;
  5666. }
  5667. }
  5668.  else if(r34skip2(C,'\76','\75')){
  5669. {T138*n=malloc(sizeof(*n));
  5670. *n=M138;
  5671. r138make(n,((T0*)ms14_252),a1);
  5672. C->_last_binary=(T0*)n;
  5673. }
  5674. }
  5675.  else if(r34skip2(C,'\57','\57')){
  5676. {T138*n=malloc(sizeof(*n));
  5677. *n=M138;
  5678. r138make(n,((T0*)ms34_194),a1);
  5679. C->_last_binary=(T0*)n;
  5680. }
  5681. }
  5682.  else if(r34skip2(C,'\134','\134')){
  5683. {T138*n=malloc(sizeof(*n));
  5684. *n=M138;
  5685. r138make(n,((T0*)ms34_374),a1);
  5686. C->_last_binary=(T0*)n;
  5687. }
  5688. }
  5689.  else if(r34skip1(C,'\53')){
  5690. {T138*n=malloc(sizeof(*n));
  5691. *n=M138;
  5692. r138make(n,((T0*)ms14_44),a1);
  5693. C->_last_binary=(T0*)n;
  5694. }
  5695. }
  5696.  else if(r34skip1(C,'\55')){
  5697. {T138*n=malloc(sizeof(*n));
  5698. *n=M138;
  5699. r138make(n,((T0*)ms14_46),a1);
  5700. C->_last_binary=(T0*)n;
  5701. }
  5702. }
  5703.  else if(r34skip1(C,'\52')){
  5704. {T138*n=malloc(sizeof(*n));
  5705. *n=M138;
  5706. r138make(n,((T0*)ms14_43),a1);
  5707. C->_last_binary=(T0*)n;
  5708. }
  5709. }
  5710.  else if(r34skip1(C,'\57')){
  5711. {T138*n=malloc(sizeof(*n));
  5712. *n=M138;
  5713. r138make(n,((T0*)ms14_48),a1);
  5714. C->_last_binary=(T0*)n;
  5715. }
  5716. }
  5717.  else if(r34skip1(C,'\76')){
  5718. {T138*n=malloc(sizeof(*n));
  5719. *n=M138;
  5720. r138make(n,((T0*)ms14_63),a1);
  5721. C->_last_binary=(T0*)n;
  5722. }
  5723. }
  5724.  else if(r34skip1(C,'\74')){
  5725. {T138*n=malloc(sizeof(*n));
  5726. *n=M138;
  5727. r138make(n,((T0*)ms14_61),a1);
  5728. C->_last_binary=(T0*)n;
  5729. }
  5730. }
  5731.  else if(r34skip1(C,'\136')){
  5732. {T138*n=malloc(sizeof(*n));
  5733. *n=M138;
  5734. r138make(n,((T0*)ms34_95),a1);
  5735. C->_last_binary=(T0*)n;
  5736. }
  5737. }
  5738.  else if(r34a_keyword(C,((T0*)ms14_1053a))){
  5739. {T138*n=malloc(sizeof(*n));
  5740. *n=M138;
  5741. r138make(n,((T0*)ms14_1053a),a1);
  5742. C->_last_binary=(T0*)n;
  5743. }
  5744. }
  5745.  else if(r34a_keyword(C,((T0*)ms14_9513))){
  5746. {T138*n=malloc(sizeof(*n));
  5747. *n=M138;
  5748. r138make(n,((T0*)ms14_9513),a1);
  5749. C->_last_binary=(T0*)n;
  5750. }
  5751. }
  5752.  else if(r34a_keyword(C,((T0*)ms14_939))){
  5753. /*[IF*/
  5754. if(r34a_keyword(C,((T0*)ms13_1764))){
  5755. {T138*n=malloc(sizeof(*n));
  5756. *n=M138;
  5757. r138make(n,((T0*)ms14_10800),a1);
  5758. C->_last_binary=(T0*)n;
  5759. }
  5760. }
  5761. else{
  5762. {T138*n=malloc(sizeof(*n));
  5763. *n=M138;
  5764. r138make(n,((T0*)ms14_939),a1);
  5765. C->_last_binary=(T0*)n;
  5766. }
  5767. }
  5768. /*FI]*/
  5769. }
  5770.  else if(r34a_keyword(C,((T0*)ms14_456))){
  5771. /*[IF*/
  5772. if(r34a_keyword(C,((T0*)ms13_1740))){
  5773. {T138*n=malloc(sizeof(*n));
  5774. *n=M138;
  5775. r138make(n,((T0*)ms14_8316),a1);
  5776. C->_last_binary=(T0*)n;
  5777. }
  5778. }
  5779. else{
  5780. {T138*n=malloc(sizeof(*n));
  5781. *n=M138;
  5782. r138make(n,((T0*)ms14_456),a1);
  5783. C->_last_binary=(T0*)n;
  5784. }
  5785. }
  5786. /*FI]*/
  5787. }
  5788. else{
  5789. C->_last_binary=NULL;
  5790. R=0;
  5791. }
  5792. /*FI]*/
  5793. return R;
  5794. }
  5795. /*No:EIFFEL_PARSER.fz_once*/
  5796. /*No:EIFFEL_PARSER.fz_if*/
  5797. /*No:EIFFEL_PARSER.column*/
  5798.  
  5799.  
  5800. void r34a_new_export_list(T34* C){
  5801. T2 _state=0;
  5802. T0* _new_export_item=NULL;
  5803. T0* _items=NULL;
  5804. T0* _clients=NULL;
  5805. T0* _sp=NULL;
  5806. T0* _export_list=NULL;
  5807. /*[IF*/
  5808. if(r34a_keyword(C,((T0*)ms13_7614))){
  5809. {T70*n=malloc(sizeof(*n));
  5810. *n=M70;
  5811. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  5812. _sp=(T0*)n;
  5813. }
  5814. while (!((_state)>(3))) {
  5815. {int z1=_state;
  5816.  
  5817. if((0==z1)){
  5818. /*[IF*/
  5819. if(((C)->_cc/*24*/)==('\173')){
  5820. _clients=r34a_clients(C);
  5821. _state=1;
  5822. }
  5823.  else if(((C)->_cc/*24*/)==('\73')){
  5824. /*[IRF3.6wcp*/{T34* C1=C;
  5825. T0* b1=((T0*)ms13_41475);
  5826. r34warning(r34current_position(C1),b1);
  5827. }/*]*/
  5828. C->_ok=r34skip1(C,'\73');
  5829. }
  5830. else{
  5831. /*[IF*/
  5832. if((_items)!=((void*)(NULL))){
  5833. {T317*n=malloc(sizeof(*n));
  5834. *n=M317;
  5835. r317make(n,_sp,_items);
  5836. _export_list=(T0*)n;
  5837. }
  5838. /*[IRF3.3set_export*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
  5839. /*]*/
  5840. }
  5841. /*FI]*/
  5842. _state=4;
  5843. }
  5844. /*FI]*/
  5845. }
  5846.  else 
  5847. if((1==z1)){
  5848. /*[IF*/
  5849. if(r34a_keyword(C,((T0*)ms13_957a))){
  5850. {T316*n=malloc(sizeof(*n));
  5851. *n=M316;
  5852. r316make_all(n,_clients);
  5853. _new_export_item=(T0*)n;
  5854. }
  5855. /*[IF*/
  5856. if((_items)==((void*)(NULL))){
  5857. _items=se_ma318(1,
  5858. _new_export_item);
  5859. }
  5860. else{
  5861. r318add_last(((T318*)_items),_new_export_item);
  5862. }
  5863. /*FI]*/
  5864. _state=2;
  5865. }
  5866. else{
  5867. /*[IF*/
  5868. if(r34a_feature_name_list(C)){
  5869. {T316*n=malloc(sizeof(*n));
  5870. *n=M316;
  5871. r316make(n,_clients,(C)->_last_feature_name_list/*109*/);
  5872. _new_export_item=(T0*)n;
  5873. }
  5874. /*[IF*/
  5875. if((_items)==((void*)(NULL))){
  5876. _items=se_ma318(1,
  5877. _new_export_item);
  5878. }
  5879. else{
  5880. r318add_last(((T318*)_items),_new_export_item);
  5881. }
  5882. /*FI]*/
  5883. _state=2;
  5884. }
  5885. else{
  5886. _state=3;
  5887. }
  5888. /*FI]*/
  5889. }
  5890. /*FI]*/
  5891. }
  5892.  else 
  5893. if((2==z1)){
  5894. /*[IF*/
  5895. if(r34skip1(C,'\73')){
  5896. _state=0;
  5897. }
  5898.  else if(((C)->_cc/*24*/)==('\173')){
  5899. /*[IRF3.6wcp*/{T34* C1=C;
  5900. T0* b1=((T0*)ms34_9410a);
  5901. r34warning(r34current_position(C1),b1);
  5902. }/*]*/
  5903. _state=0;
  5904. }
  5905. else{
  5906. /*[IF*/
  5907. if((_items)!=((void*)(NULL))){
  5908. {T317*n=malloc(sizeof(*n));
  5909. *n=M317;
  5910. r317make(n,_sp,_items);
  5911. _export_list=(T0*)n;
  5912. }
  5913. /*[IRF3.3set_export*/((((T79*)((T79*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
  5914. /*]*/
  5915. }
  5916. /*FI]*/
  5917. _state=4;
  5918. }
  5919. /*FI]*/
  5920. }
  5921.  else{r34fcp(C,((T0*)ms34_20247));
  5922. _state=4;
  5923. }}
  5924. }
  5925. }
  5926. /*FI]*/
  5927. }
  5928.  
  5929.  
  5930. void r34a_creation_clause(T34* C,T0* a1){
  5931. T0* _creation_clause=NULL;
  5932. T0* _comments=NULL;
  5933. T0* _clients=NULL;
  5934. _clients=r34a_clients(C);
  5935. _comments=r34get_comments(C);
  5936. /*[IF*/
  5937. if(r34a_feature_name_list(C)){
  5938. }
  5939. /*FI]*/
  5940. {T75*n=malloc(sizeof(*n));
  5941. *n=M75;
  5942. r75make(n,a1,_clients,_comments,(C)->_last_feature_name_list/*109*/);
  5943. _creation_clause=(T0*)n;
  5944. }
  5945. r63add_creation_clause((T63*)((C)->_last_base_class/*65*/),_creation_clause);
  5946. }
  5947. /*No:EIFFEL_PARSER.show_nb_errors*/
  5948. /*No:EIFFEL_PARSER.last_integer_constant*/
  5949. /*No:EIFFEL_PARSER.last_boolean_constant*/
  5950.  
  5951.  
  5952. T6 r34a_integer_constant(T34* C){
  5953. T6 R=0;
  5954. T2 _c=0;
  5955. T2 _l=0;
  5956. /*[IF*/
  5957. if(r34skip1(C,'\53')){
  5958. _l=(C)->_start_line/*169*/;
  5959. _c=(C)->_start_column/*165*/;
  5960. /*[IF*/
  5961. if(r34a_integer(C)){
  5962. r70set_line_column((T70*)(((T174*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
  5963. R=1;
  5964. }
  5965. else{
  5966. r34fcp(C,((T0*)ms13_45846));
  5967. }
  5968. /*FI]*/
  5969. }
  5970.  else if(r34skip1(C,'\55')){
  5971. _l=(C)->_start_line/*169*/;
  5972. _c=(C)->_start_column/*165*/;
  5973. /*[IF*/
  5974. if(r34a_integer(C)){
  5975. r70set_line_column((T70*)(((T174*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
  5976. r174unary_minus((T174*)((C)->_last_integer_constant/*129*/));
  5977. R=1;
  5978. }
  5979. else{
  5980. r34fcp(C,((T0*)ms13_45846));
  5981. }
  5982. /*FI]*/
  5983. }
  5984. else{
  5985. R=r34a_integer(C);
  5986. }
  5987. /*FI]*/
  5988. return R;
  5989. }
  5990. /*No:EIFFEL_PARSER.fz_do*/
  5991. /*No:EIFFEL_PARSER.fz_as*/
  5992. /*No:EIFFEL_PARSER.us_ge*/
  5993. /*No:EIFFEL_PARSER.go_back*/
  5994.  
  5995.  
  5996. T6 r34a_prefix(T34* C){
  5997. T6 R=0;
  5998. /*[IF*/
  5999. if(r34a_keyword(C,((T0*)ms13_7614a))){
  6000. R=1;
  6001. /*[IF*/
  6002. if(((C)->_cc/*24*/)==('\42')){
  6003. r34next_char(C);
  6004. }
  6005. else{
  6006. /*[IRF3.6wcp*/{T34* C1=C;
  6007. T0* b1=((T0*)ms34_89232);
  6008. r34warning(r34current_position(C1),b1);
  6009. }/*]*/
  6010. }
  6011. /*FI]*/
  6012. /*[IF*/
  6013. if(r34a_unary(C)){
  6014. }
  6015.  else if(r34a_free_operator(C)){
  6016. C->_last_prefix=r109to_prefix_name((T109*)(oBC34tmp_name));
  6017. }
  6018. else{
  6019. r34fcp(C,((T0*)ms34_56910));
  6020. }
  6021. /*FI]*/
  6022. /*[IF*/
  6023. if(!(r34skip1(C,'\42'))){
  6024. /*[IRF3.6wcp*/{T34* C1=C;
  6025. T0* b1=((T0*)ms34_38352);
  6026. r34warning(r34current_position(C1),b1);
  6027. }/*]*/
  6028. }
  6029. /*FI]*/
  6030. }
  6031. /*FI]*/
  6032. return R;
  6033. }
  6034. /*No:EIFFEL_PARSER.last_feature_declaration*/
  6035. /*No:EIFFEL_PARSER.us_none*/
  6036. /*No:EIFFEL_PARSER.start_column*/
  6037. /*No:EIFFEL_PARSER.us_string*/
  6038. /*No:EIFFEL_PARSER.fz_se*/
  6039. /*No:EIFFEL_PARSER.fz_true*/
  6040. /*No:EIFFEL_PARSER.us_le*/
  6041. /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/
  6042. /*No:EIFFEL_PARSER.fz_c_withoutcurrent*/
  6043.  
  6044.  
  6045. T0* r34parse_c_name(T34* C){
  6046. T0* R=NULL;
  6047. {T7*n=malloc(sizeof(*n));
  6048. *n=M7;
  6049. r7make(n,32);
  6050. R=(T0*)n;
  6051. }
  6052. while (!(r3is_separator((C)->_cc/*24*/))) {
  6053. r7extend(((T7*)R),(C)->_cc/*24*/);
  6054. r34next_char(C);
  6055. }
  6056. r34skip_comments(C);
  6057. return R;
  6058. }
  6059.  
  6060.  
  6061. T0* r34parse_feature_name(T34* C){
  6062. T0* R=NULL;
  6063. /*[IF*/
  6064. if(r34a_feature_name(C)){
  6065. R=(C)->_last_feature_name/*105*/;
  6066. }
  6067. else{
  6068. r34fcp(C,((T0*)ms34_33616));
  6069. }
  6070. /*FI]*/
  6071. return R;
  6072. }
  6073.  
  6074.  
  6075. void r34a_local_var_list(T34* C){
  6076. T2 _state=0;
  6077. T2 _rank=0;
  6078. T0* _list=NULL;
  6079. T0* _declaration=NULL;
  6080. T0* _name_list=NULL;
  6081. T0* _name=NULL;
  6082. while (!((_state)>(4))) {
  6083. {int z1=_state;
  6084.  
  6085. if((0==z1)){
  6086. /*[IF*/
  6087. if(r34a_identifier(C)){
  6088. _name=r109to_local_name1((T109*)(oBC34tmp_name));
  6089. _state=1;
  6090. /*[IF*/
  6091. if(((C)->_arguments/*49*/)!=((void*)(NULL))){
  6092. _rank=r187rank_of((T187*)((C)->_arguments/*49*/),(((T183*)_name))->_to_string/*8*/);
  6093. /*[IF*/
  6094. if((_rank)>(0)){
  6095. r21add_position((((T183*)_name))->_start_position/*4*/);
  6096. r21add_position(((T190*)(/*(IRF4.6name*/r191item(((T191*)(((T187*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
  6097. r21error((T21*)(oBC12eh),((T0*)ms34_112815));
  6098. }
  6099. /*FI]*/
  6100. }
  6101. /*FI]*/
  6102. }
  6103.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
  6104. /*[IRF3.6wcp*/{T34* C1=C;
  6105. T0* b1=((T0*)ms34_38712);
  6106. r34warning(r34current_position(C1),b1);
  6107. }/*]*/
  6108. C->_ok=(r34skip1(C,'\54'))||(r34skip1(C,'\73'));
  6109. }
  6110. else{
  6111. _state=5;
  6112. }
  6113. /*FI]*/
  6114. }
  6115.  else 
  6116. if((1==z1)){
  6117. /*[IF*/
  6118. if(r34skip1(C,'\72')){
  6119. /*[IF*/
  6120. if((_name_list)!=((void*)(NULL))){
  6121. r185add_last(((T185*)_name_list),_name);
  6122. _name=NULL;
  6123. }
  6124. /*FI]*/
  6125. _state=3;
  6126. }
  6127. else{
  6128. /*[IF*/
  6129. if(((C)->_cc/*24*/)==('\73')){
  6130. /*[IRF3.6wcp*/{T34* C1=C;
  6131. T0* b1=((T0*)ms34_29280);
  6132. r34warning(r34current_position(C1),b1);
  6133. }/*]*/
  6134. C->_ok=r34skip1(C,'\73');
  6135. }
  6136. else{
  6137. C->_ok=r34skip1(C,'\54');
  6138. }
  6139. /*FI]*/
  6140. /*[IF*/
  6141. if((_name_list)==((void*)(NULL))){
  6142. _name_list=se_ma185(1,
  6143. _name);
  6144. }
  6145. else{
  6146. r185add_last(((T185*)_name_list),_name);
  6147. }
  6148. /*FI]*/
  6149. _name=NULL;
  6150. _state=2;
  6151. }
  6152. /*FI]*/
  6153. }
  6154.  else 
  6155. if((2==z1)){
  6156. /*[IF*/
  6157. if(r34a_identifier(C)){
  6158. _name=r109to_local_name1((T109*)(oBC34tmp_name));
  6159. _state=1;
  6160. /*[IF*/
  6161. if(((C)->_arguments/*49*/)!=((void*)(NULL))){
  6162. _rank=r187rank_of((T187*)((C)->_arguments/*49*/),(((T183*)_name))->_to_string/*8*/);
  6163. /*[IF*/
  6164. if((_rank)>(0)){
  6165. r21add_position((((T183*)_name))->_start_position/*4*/);
  6166. r21add_position(((T190*)(/*(IRF4.6name*/r191item(((T191*)(((T187*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
  6167. r21error((T21*)(oBC12eh),((T0*)ms34_112815a));
  6168. }
  6169. /*FI]*/
  6170. }
  6171. /*FI]*/
  6172. }
  6173.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
  6174. /*[IRF3.6wcp*/{T34* C1=C;
  6175. T0* b1=((T0*)ms34_38712);
  6176. r34warning(r34current_position(C1),b1);
  6177. }/*]*/
  6178. C->_ok=(r34skip1(C,'\54'))||(r34skip1(C,'\73'));
  6179. }
  6180. else{
  6181. _state=6;
  6182. }
  6183. /*FI]*/
  6184. }
  6185.  else 
  6186. if((3==z1)){
  6187. /*[IF*/
  6188. if(r34a_type(C)){
  6189. /*[IF*/
  6190. if((_name_list)!=((void*)(NULL))){
  6191. {T310*n=malloc(sizeof(*n));
  6192. *n=M310;
  6193. r310make(n,_name_list,(C)->_last_type/*157*/);
  6194. _declaration=(T0*)n;
  6195. }
  6196. _name_list=NULL;
  6197. }
  6198. else{
  6199. {T313*n=malloc(sizeof(*n));
  6200. *n=M313;
  6201. r313make(n,_name,(C)->_last_type/*157*/);
  6202. _declaration=(T0*)n;
  6203. }
  6204. _name=NULL;
  6205. }
  6206. /*FI]*/
  6207. /*[IF*/
  6208. if((_list)==((void*)(NULL))){
  6209. _list=se_ma308(1,
  6210. _declaration);
  6211. }
  6212. else{
  6213. r308add_last(((T308*)_list),_declaration);
  6214. }
  6215. /*FI]*/
  6216. _state=4;
  6217. }
  6218. else{
  6219. _state=6;
  6220. }
  6221. /*FI]*/
  6222. }
  6223.  else{/*[IF*/
  6224. if(((C)->_cc/*24*/)==('\54')){
  6225. /*[IRF3.6wcp*/{T34* C1=C;
  6226. T0* b1=((T0*)ms34_29280a);
  6227. r34warning(r34current_position(C1),b1);
  6228. }/*]*/
  6229. C->_ok=r34skip1(C,'\54');
  6230. _state=0;
  6231. }
  6232. else{
  6233. C->_ok=r34skip1(C,'\73');
  6234. _state=0;
  6235. }
  6236. /*FI]*/
  6237. }}
  6238. }
  6239. /*[IF*/
  6240. if((_state)==(6)){
  6241. r34fcp(C,((T0*)ms34_36528));
  6242. }
  6243.  else if((_list)!=((void*)(NULL))){
  6244. {T178*n=malloc(sizeof(*n));
  6245. *n=M178;
  6246. /*[IRF3.6make*/{T178* C1=n;
  6247. T0* b1=_list;
  6248. r178declaration_list_make(C1,b1);
  6249. }/*]*/
  6250. C->_local_vars=(T0*)n;
  6251. }
  6252. /*[IRF3.3set_local_vars*/((((T198*)((T198*)(oBC34tmp_feature))))->_local_vars)=((C)->_local_vars/*53*/);
  6253. /*]*/
  6254. }
  6255. /*FI]*/
  6256. }
  6257. /*No:EIFFEL_PARSER.fz_is*/
  6258.  
  6259.  
  6260. T6 r34a_precursor(T34* C,T6 a1){
  6261. T6 R=0;
  6262. T0* _args=NULL;
  6263. T0* _parent=NULL;
  6264. T0* _sp=NULL;
  6265. /*[IF*/
  6266. if(r34skip1(C,'\173')){
  6267. R=1;
  6268. {T70*n=malloc(sizeof(*n));
  6269. *n=M70;
  6270. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  6271. _sp=(T0*)n;
  6272. }
  6273. /*[IF*/
  6274. if(r34skip1(C,'\173')){
  6275. r34warning(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms34_104490a));
  6276. }
  6277. /*FI]*/
  6278. /*[IF*/
  6279. if(r34a_base_class_name(C)){
  6280. _parent=(C)->_last_class_name/*89*/;
  6281. }
  6282. /*FI]*/
  6283. /*[IF*/
  6284. if(!(r34skip1(C,'\175'))){
  6285. r34fcp(C,((T0*)ms34_202947));
  6286. }
  6287. /*FI]*/
  6288. /*[IF*/
  6289. if(r34skip1(C,'\175')){
  6290. r34warning(r34pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms34_104490));
  6291. }
  6292. /*FI]*/
  6293. }
  6294. /*FI]*/
  6295. /*[IF*/
  6296. if(r34a_keyword(C,((T0*)ms14_13968))){
  6297. R=1;
  6298. /*[IF*/
  6299. if((_sp)==((void*)(NULL))){
  6300. {T70*n=malloc(sizeof(*n));
  6301. *n=M70;
  6302. r70make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  6303. _sp=(T0*)n;
  6304. }
  6305. }
  6306. /*FI]*/
  6307. _args=r34a_actuals(C);
  6308. }
  6309.  else if((_sp)!=((void*)(NULL))){
  6310. r34fcp(C,((T0*)ms34_63936));
  6311. }
  6312. /*FI]*/
  6313. /*[IF*/
  6314. if(R){
  6315. /*[IF*/
  6316. if(r34skip1unless2(C,'\56','\56')){
  6317. {T175*n=malloc(sizeof(*n));
  6318. *n=M175;
  6319. r175make(n,_sp,_parent,_args);
  6320. C->_last_expression=(T0*)n;
  6321. }
  6322. r34a_after_a_dot(C,a1,(C)->_last_expression/*97*/);
  6323. }
  6324.  else if(a1){
  6325. {T177*n=malloc(sizeof(*n));
  6326. *n=M177;
  6327. r177make(n,_sp,_parent,_args);
  6328. C->_last_instruction=(T0*)n;
  6329. }
  6330. }
  6331. else{
  6332. {T175*n=malloc(sizeof(*n));
  6333. *n=M175;
  6334. r175make(n,_sp,_parent,_args);
  6335. C->_last_expression=(T0*)n;
  6336. }
  6337. }
  6338. /*FI]*/
  6339. }
  6340. /*FI]*/
  6341. return R;
  6342. }
  6343. /*No:EIFFEL_PARSER.inside_once_function*/
  6344. /*No:EIFFEL_PARSER.us_neq*/
  6345. /*No:EIFFEL_PARSER.us_eq*/
  6346.  
  6347.  
  6348. T6 r34a_character_constant(T34* C){
  6349. T6 R=0;
  6350. T3 _value=0;
  6351. T2 _printing_mode=0;
  6352. T2 _state=0;
  6353. T0* _sp=NULL;
  6354. /*[IF*/
  6355. if(((C)->_cc/*24*/)==('\47')){
  6356. {T70*n=malloc(sizeof(*n));
  6357. *n=M70;
  6358. r70make(n,(C)->_line/*16*/,(C)->_column/*12*/);
  6359. _sp=(T0*)n;
  6360. }
  6361. R=1;
  6362. while (!((_state)>(2))) {
  6363. r34next_char(C);
  6364. {int z1=_state;
  6365.  
  6366. if((0==z1)){
  6367. {int z2=(C)->_cc/*24*/;
  6368.  
  6369. if((37==z2)){
  6370. _state=1;
  6371. }
  6372.  else 
  6373. if((39==z2)){
  6374. r34fcp(C,((T0*)ms34_33741));
  6375. _state=2;
  6376. }
  6377.  else{_value=(C)->_cc/*24*/;
  6378. _printing_mode=0;
  6379. _state=2;
  6380. }}
  6381. }
  6382.  else 
  6383. if((1==z1)){
  6384. _printing_mode=1;
  6385. _state=2;
  6386. {int z2=(C)->_cc/*24*/;
  6387.  
  6388. if((65==z2)){
  6389. _value='\100';
  6390. }
  6391.  else 
  6392. if((66==z2)){
  6393. _value='\10';
  6394. }
  6395.  else 
  6396. if((67==z2)){
  6397. _value='\136';
  6398. }
  6399.  else 
  6400. if((68==z2)){
  6401. _value='\44';
  6402. }
  6403.  else 
  6404. if((70==z2)){
  6405. _value='\14';
  6406. }
  6407.  else 
  6408. if((72==z2)){
  6409. _value='\134';
  6410. }
  6411.  else 
  6412. if((76==z2)){
  6413. _value='\176';
  6414. }
  6415.  else 
  6416. if((78==z2)){
  6417. _value='\n';
  6418. }
  6419.  else 
  6420. if((81==z2)){
  6421. _value='\140';
  6422. }
  6423.  else 
  6424. if((82==z2)){
  6425. _value='\15';
  6426. }
  6427.  else 
  6428. if((83==z2)){
  6429. _value='\43';
  6430. }
  6431.  else 
  6432. if((84==z2)){
  6433. _value='\11';
  6434. }
  6435.  else 
  6436. if((85==z2)){
  6437. _value='\0';
  6438. }
  6439.  else 
  6440. if((86==z2)){
  6441. _value='\174';
  6442. }
  6443.  else 
  6444. if((37==z2)){
  6445. _value='\45';
  6446. }
  6447.  else 
  6448. if((39==z2)){
  6449. _value='\47';
  6450. }
  6451.  else 
  6452. if((34==z2)){
  6453. _value='\42';
  6454. }
  6455.  else 
  6456. if((40==z2)){
  6457. _value='\133';
  6458. }
  6459.  else 
  6460. if((41==z2)){
  6461. _value='\135';
  6462. }
  6463.  else 
  6464. if((60==z2)){
  6465. _value='\173';
  6466. }
  6467.  else 
  6468. if((62==z2)){
  6469. _value='\175';
  6470. }
  6471.  else 
  6472. if((47==z2)){
  6473. r34a_ascii_code(C);
  6474. _value=((T3)((C)->_last_ascii_code/*61*/));
  6475. _printing_mode=2;
  6476. }
  6477.  else{r34fcp(C,((T0*)ms34_45084));
  6478. }}
  6479. }
  6480.  else{_state=3;
  6481. {int z2=(C)->_cc/*24*/;
  6482.  
  6483. if((39==z2)){
  6484. }
  6485.  else{r34fcp(C,((T0*)ms34_33741));
  6486. }}
  6487. r34next_char(C);
  6488. r34skip_comments(C);
  6489. }}
  6490. }
  6491. {T170*n=malloc(sizeof(*n));
  6492. *n=M170;
  6493. r170make(n,_sp,_value,_printing_mode);
  6494. C->_last_character_constant=(T0*)n;
  6495. }
  6496. }
  6497. /*FI]*/
  6498. return R;
  6499. }
  6500. /*No:EIFFEL_PARSER.fatal_error*/
  6501.  
  6502.  
  6503. T6 r34a_free_operator(T34* C){
  6504. T6 R=0;
  6505. /*[IF*/
  6506. if((((((C)->_cc/*24*/)==('\100'))||(((C)->_cc/*24*/)==('\43')))||(((C)->_cc/*24*/)==('\174')))||(((C)->_cc/*24*/)==('\46'))){
  6507. R=1;
  6508. r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  6509. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  6510. r7extend((T7*)(oBC109tmp_string),b1);
  6511. }/*]*/
  6512. r34next_char(C);
  6513. while (!((((((C)->_cc/*24*/)==('\n'))||(((C)->_cc/*24*/)==('\40')))||(((C)->_cc/*24*/)==('\11')))||(((C)->_cc/*24*/)==('\42')))) {
  6514. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  6515. r7extend((T7*)(oBC109tmp_string),b1);
  6516. }/*]*/
  6517. r34next_char(C);
  6518. }
  6519. r34skip_comments(C);
  6520. }
  6521. /*FI]*/
  6522. return R;
  6523. }
  6524. /*No:EIFFEL_PARSER.em10*/
  6525. /*No:EIFFEL_PARSER.us_gt*/
  6526. /*No:EIFFEL_PARSER.em11*/
  6527. /*No:EIFFEL_PARSER.em20*/
  6528. /*No:EIFFEL_PARSER.em12*/
  6529. /*No:EIFFEL_PARSER.em13*/
  6530. /*No:EIFFEL_PARSER.fz_c_withcurrent*/
  6531.  
  6532.  
  6533. void r34a_then_part_list(T34* C,T0* a1){
  6534. /*[IF*/
  6535. if(!(r34a_then_part(C,a1))){
  6536. r34fcp(C,((T0*)ms34_28035));
  6537. }
  6538. /*FI]*/
  6539. while (!(!(r34a_keyword(C,((T0*)ms13_6942))))) {
  6540. /*[IF*/
  6541. if(!(r34a_then_part(C,a1))){
  6542. r34fcp(C,((T0*)ms34_37875));
  6543. }
  6544. /*FI]*/
  6545. }
  6546. }
  6547.  
  6548.  
  6549. void r34warning(T0* a1,T0* a2){
  6550. r21add_position(a1);
  6551. r21warning((T21*)(oBC12eh),a2);
  6552. }
  6553. /*No:EIFFEL_PARSER.em15*/
  6554. /*No:EIFFEL_PARSER.em16*/
  6555. /*No:EIFFEL_PARSER.us_lt*/
  6556.  
  6557.  
  6558. T6 r34a_identifier2(T34* C){
  6559. T6 R=0;
  6560. T6 _do_warning=0;
  6561. T2 _state=0;
  6562. /*[IF*/
  6563. if(r3is_letter((C)->_cc/*24*/)){
  6564. r109initialize((T109*)(oBC34tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  6565. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  6566. r7extend((T7*)(oBC109tmp_string),b1);
  6567. }/*]*/
  6568. while (!((_state)>(0))) {
  6569. r34next_char(C);
  6570. {int z1=(C)->_cc/*24*/;
  6571.  
  6572. if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
  6573. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  6574. r7extend((T7*)(oBC109tmp_string),b1);
  6575. }/*]*/
  6576. }
  6577.  else 
  6578. if(((65<=z1)&&(z1<=90))){
  6579. _do_warning=1;
  6580. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  6581. r7extend((T7*)(oBC109tmp_string),b1);
  6582. }/*]*/
  6583. }
  6584.  else{_state=1;
  6585. }}
  6586. }
  6587. /*[IF*/
  6588. if(r109isa_keyword()){
  6589. _state=/*(IRF4.9count*/((T7*)(oBC109tmp_string))->_count/*4*//*)*/;
  6590. while (!((_state)==(0))) {
  6591. _state=(_state)-(1);
  6592. r34prev_char(C);
  6593. }
  6594. }
  6595. else{
  6596. R=1;
  6597. r34skip_comments(C);
  6598. /*[IF*/
  6599. if(_do_warning){
  6600. r34warning(r109start_position((T109*)(oBC34tmp_name)),((T0*)ms34_116325));
  6601. }
  6602. /*FI]*/
  6603. }
  6604. /*FI]*/
  6605. }
  6606. /*FI]*/
  6607. return R;
  6608. }
  6609. /*No:EIFFEL_PARSER.current_line*/
  6610. /*No:EIFFEL_PARSER.em17*/
  6611. /*No:EIFFEL_PARSER.fz_obsolete*/
  6612. /*No:EIFFEL_PARSER.us_or*/
  6613. /*No:EIFFEL_PARSER.em18*/
  6614. /*No:EIFFEL_PARSER.us_bit*/
  6615. /*No:EIFFEL_PARSER.em19*/
  6616.  
  6617.  
  6618. void r34error(T0* a1,T0* a2){
  6619. r21add_position(a1);
  6620. r21error((T21*)(oBC12eh),a2);
  6621. }
  6622. /*No:EIFFEL_PARSER.fz_expanded*/
  6623. /*No:EIFFEL_PARSER.fz_infix*/
  6624. /*No:EIFFEL_PARSER.last_base_type*/
  6625. /*No:EIFFEL_PARSER.current_class_name*/
  6626. /*No:EIFFEL_PARSER.last_real_constant*/
  6627. /*No:EIFFEL_PARSER.last_bit_constant*/
  6628.  
  6629.  
  6630. T0* r34to_call(T0* a1,T0* a2,T0* a3){
  6631. T0* R=NULL;
  6632. /*[IF*/
  6633. if((a2)==((void*)(NULL))){
  6634. R=a1;
  6635. }
  6636.  else if((a3)==((void*)(NULL))){
  6637. {T150*n=malloc(sizeof(*n));
  6638. *n=M150;
  6639. r150make(n,a1,a2);
  6640. R=(T0*)n;
  6641. }
  6642. }
  6643.  else if((X149count(a3))==(1)){
  6644. {T152*n=malloc(sizeof(*n));
  6645. *n=M152;
  6646. r152make(n,a1,a2,a3);
  6647. R=(T0*)n;
  6648. }
  6649. }
  6650. else{
  6651. {T153*n=malloc(sizeof(*n));
  6652. *n=M153;
  6653. r153make(n,a1,a2,a3);
  6654. R=(T0*)n;
  6655. }
  6656. }
  6657. /*FI]*/
  6658. return R;
  6659. }
  6660. /*No:EIFFEL_PARSER.nb_warnings*/
  6661. /*No:EIFFEL_PARSER.fz_redefine*/
  6662. T0*oBC34tmp_feature=NULL;
  6663. /*No:EIFFEL_PARSER.fz_retry*/
  6664. /*No:EIFFEL_PARSER.us_xor*/
  6665.  
  6666.  
  6667. T6 r34a_e0(T34* C){
  6668. T6 R=0;
  6669. R=r34a_e1(C);
  6670. r34a_r1(C,(C)->_last_expression/*97*/);
  6671. return R;
  6672. }
  6673.  
  6674.  
  6675. T0* r34get_comments(T34* C){
  6676. T0* R=NULL;
  6677. R=(C)->_last_comments/*25*/;
  6678. C->_last_comments=NULL;
  6679. return R;
  6680. }
  6681.  
  6682.  
  6683. T6 r34a_e1(T34* C){
  6684. T6 R=0;
  6685. R=r34a_e2(C);
  6686. r34a_r2(C,(C)->_last_expression/*97*/);
  6687. return R;
  6688. }
  6689. /*No:EIFFEL_PARSER.us_not*/
  6690.  
  6691.  
  6692. T6 r34a_e2(T34* C){
  6693. T6 R=0;
  6694. R=r34a_e3(C);
  6695. r34a_r3(C,(C)->_last_expression/*97*/);
  6696. return R;
  6697. }
  6698.  
  6699.  
  6700. T6 r34a_then_part(T34* C,T0* a1){
  6701. T6 R=0;
  6702. T0* _expression=NULL;
  6703. /*[IF*/
  6704. if(r34a_expression(C)){
  6705. R=1;
  6706. _expression=X56add_comment((C)->_last_expression/*97*/,r34get_comments(C));
  6707. /*[IF*/
  6708. if(!(r34a_keyword(C,((T0*)ms13_1764)))){
  6709. /*[IRF3.6wcp*/{T34* C1=C;
  6710. T0* b1=((T0*)ms34_14027);
  6711. r34warning(r34current_position(C1),b1);
  6712. }/*]*/
  6713. }
  6714. /*FI]*/
  6715. r222add_if_then(((T222*)a1),_expression,r34a_compound1(C));
  6716. }
  6717. /*FI]*/
  6718. return R;
  6719. }
  6720.  
  6721.  
  6722. T6 r34a_e3(T34* C){
  6723. T6 R=0;
  6724. R=r34a_e4(C);
  6725. r34a_r4(C,(C)->_last_expression/*97*/);
  6726. return R;
  6727. }
  6728. /*No:EIFFEL_PARSER.us_array*/
  6729.  
  6730.  
  6731. T6 r34a_e4(T34* C){
  6732. T6 R=0;
  6733. R=r34a_e5(C);
  6734. r34a_r5(C,(C)->_last_expression/*97*/);
  6735. return R;
  6736. }
  6737.  
  6738.  
  6739. T6 r34a_e5(T34* C){
  6740. T6 R=0;
  6741. R=r34a_e6(C);
  6742. r34a_r6(C,(C)->_last_expression/*97*/);
  6743. return R;
  6744. }
  6745.  
  6746.  
  6747. T6 r34a_e6(T34* C){
  6748. T6 R=0;
  6749. R=r34a_e7(C);
  6750. r34a_r7(C,(C)->_last_expression/*97*/);
  6751. return R;
  6752. }
  6753.  
  6754.  
  6755. void r34go_back_at(T34* C,T2 a1,T2 a2){
  6756. C->_line=a1;
  6757. C->_column=a2;
  6758. C->_current_line=r72item((C)->_line/*16*/);
  6759. /*[IF*/
  6760. if(((C)->_column/*12*/)==((((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1))){
  6761. C->_cc='\n';
  6762. }
  6763.  else if(((C)->_column/*12*/)==(0)){
  6764. C->_cc='\0';
  6765. }
  6766. else{
  6767. C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
  6768. }
  6769. /*FI]*/
  6770. }
  6771.  
  6772.